Frage

Ich habe eine Nachricht im Forum als mein erstes ASP.NET-Projekt geschrieben. Es scheint bisher gut zu arbeiten. Doch eine der Funktionen, die ich habe, ist, dass jede Nachricht ein Spam-Rating hat. Es ist einfach die Anzahl der Male, dass die Zuschauer die Nachricht als Spam durch die Gesamtzahl der für die Meldung angezeigt wurde geteilt markiert haben. Die Idee ist, Benutzer zu erlauben, Nachrichten mit hohem Spam-Ratings zu ignorieren, wenn sie dies tun.

Allerdings kann das gesamte System einfach von einem Spammer vereitelten werden seine eigene Nachricht sehen und es ein paar Mal erfrischend, die die Anzahl der Male erhöhen wird die Meldung angezeigt wurde. Es kann auch von jemandem vereitelte werden, die die Nachricht als Spam ein paar Mal in Folge markiert. Ich muß einen Weg, um zu bestimmen, ob ein bestimmte Besucher bereits eine bestimmte Nachricht angezeigt, und eine Art und Weise, um zu bestimmen, ob ein bestimmte Benutzer hat bereits eine bestimmte Nachricht als Spam markiert.

Ich will keine Registrierung erforderlich ist - ich jemand möchte in der Lage zu sehen oder senden Sie Nachrichten. Zwei Ideen, die ich habe erwägen Einstellung ein Cookie, wenn der Besucher auf die Website erhält, damit ich sie verfolgen kann, oder eine neue Datentabelle erstellen, die IP-Adressen der Benutzer anmeldet, wenn sie eine Nachricht oder markieren Sie ihn als Spam betrachten. Kann jemand einen besseren Weg denken? Hat .NET jede eingebaute Funktionen, die mir helfen können bestimmen, ob der Besucher eine Seite zum ersten Mal anschaut?

War es hilfreich?

Lösung

Die zuverlässigste Maßnahme ist IP-Adressenfilterung, wie die Spammer eine andere Methode umgehen könnten durch sein eigenes Programm zu schreiben, die Seite anzufordern. Es wird Ihre Kunden hinter NAT beeinflussen, aber für Spam-Filter-Zwecke, es funktioniert ziemlich OK.

Andere Tipps

ASP.Net hat eine integrierte Funktion namens Personalization, die verwendet werden können, um anonyme Benutzer neben normalen „registriert“ Benutzer zu erkennen und erinnern.

Für anonyme Benutzer verwenden, um die IP. Dies gibt Fehlalarme, speziell für einige Internet-Provider, aber es sieht aus wie ein anständiger Kompromiss für Ihr Szenario. Ich würde es auch einfacher macht für Benutzer identifiziert werden, offen-ID ist eine gute Möglichkeit, dies zu tun.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top