2009-03-22 8 views
3

Ich erwäge, Benutzern zu erlauben, auf meiner Site zu posten, ohne sie registrieren zu lassen oder irgendwelche identifizierenden Informationen zur Verfügung zu stellen. Wenn jeder Post an eine db-Queue gesendet wird und ich diese Posts dann manuell screene, auf welche Art von Problemen könnte ich stoßen? Wie könnte ich mit diesen Problemen umgehen?Verwalten von nicht registrierten Benutzer Posts durch Screening

Antwort

6

Screening jeden Beitrag wäre mühsam und ermüdend. Und anfällig für lästigen Admin-Spam. Mein Vorschlag wäre, so viel Screening wie möglich zu automatisieren. Darüber hinaus wird durch die Bereitstellung von identifizierenden Informationen Spam nicht verhindert (ein Bot erzeugt ihn nur).

Viele Projekte implementieren Erkennungssystem: zuerst muss der Benutzer 1-2 Beiträge, die genehmigt sind, dann von IP und (vielleicht) ein Cookie, er ist als ein vertrauenswürdiges Plakat identifiziert, so dass seine Beiträge automatisch angezeigt werden (und später kann als Spam markiert werden).

Auch einige Heuristiken zum Inhalt des Beitrags könnten verwendet werden (wie die Anzahl der Links im Beitrag), um potentielle Spam-Posts automatisch zu verwerfen.

2

Tedium scheint die größte Sorge zu sein - Screening-Beiträge manuell ist wirksam gegen Spam (ich nehme an, das ist, was Sie aussortieren wollen), aber sehr langweilig.

Es könnte am besten mit einer Tasse Kaffee und schöne Musik beim Jäten zu beheben repariert werden?

+0

lol +1 für Originalität – Seb

5

Das offensichtlichste Problem ist, dass Sie von der Anzahl der Eingaben überfordert werden, wenn Ihre Website ausreichend beliebt ist.

Ich würde sicherstellen, dass einige Admin-Tools hinzugefügt werden, so dass Sie automatisch alle Posts von einer bestimmten IP-Adresse killen können, oder dass eine bestimmte Regex übereinstimmen. Das sollte dazu beitragen, offensichtliches Spam schneller zu beseitigen, aber auch dafür müssten Sie hinter dem Steuer sitzen.

0
  • Beiträge, die legit zu suchen versuchen, sind aber nicht
  • die schiere Menge

Dies sind die Probleme, die ich auf meinem Blog zu sehen.

2

Ich habe festgestellt, dass die Frage nach der Antwort auf eine einfache Frage den Browser als ein Bild (wie "2 + 3 - 4 =", eine Variante eines 'Captcha', aber nicht so nervig), mit einem kleinen gesendet ein bisschen Javascript tut das ganz gut.

Senden Sie Ihr Formular mit dem Bild und Antwortfeld und ein verstecktes Feld mit einer "Herausforderung" (einige zufällig generierte Zeichenfolge). Wenn der Benutzer das Formular übermittelt, hash die Herausforderung und die Antwort, und senden Sie das Ergebnis an den Server zurück. Der Server kann nach einer gültigen Antwort suchen, bevor er zur Überprüfung zur Datenbank hinzugefügt wird.

Es scheint wie viel Arbeit im Voraus, aber es wird Stunden der Überprüfung Zeit sparen. Mit jQuery:

 
<script type="text/javascript"> 
// Hash function to mask the answer 
function answerMask() 
{ 
    var a = $('#a').val(); 
    var c = $('#c').val(); 
    var h = hex_md5(hex_md5(a) + c); 
    $('#a').val(h); 
} 
</script> 
    <form onsubmit="answerMask()" action="/cgi-bin/comment.py" method="POST"> 
    <table> 
     <tr><td>Comment</td><td><input type="text" name="comment" /></td></tr> 
     <tr><td># put image here #</td><td><input id="p" type="text" name="a" size="30" /></td></tr> 
     <tr><td><input id="c" type="hidden" value="ddd8c315d759a74c75421055a16f6c52" name="c" /></td><td><input type="submit" value=" Go "></td></tr> 
    </p> 
    </form> 

bearbeiten update ...

ich diese Technik auf einer Website gesehen, ich bin nicht sicher, welche ein, so dass diese Idee ist nicht von mir, aber sie könnte es nützlich finden.

Geben Sie ein Formular mit einem Abfragefeld und einem Kommentarfeld an.Setzen Sie die Herausforderung mit "Wählen Sie das dritte Wort aus: glark snerm hork morf" vor, damit die Wörter und die, die Sie auswählen, leicht auf dem Server generiert werden und einfach validiert werden können, wenn der Inhalt des Formulars zurückkommt.

Der Punkt ist es, den Benutzer etwas tun, gelten ein paar Gehirnzellen und mehr Arbeit, als es für ein Skript Kiddie wert ist.

+0

jQuery ist nicht die Lösung für alles. Checks wie diese sollten serverseitig für echte Sicherheit gemacht werden. JavaScript kann in jedem Browser deaktiviert sein, speziell in Spam-Bots, daher würde dies nicht viel helfen. – Seb

+0

Ich bin nicht überrascht, dass dies abgelehnt wurde, und ich verstehe, dass JQuery nicht immer die Antwort ist, aber es funktioniert einfach für mich, weil meine vorhandenen Web-Stücke bereits in den Browser für andere Zwecke geladen. Ich habe eine andere Antwort, die vielleicht besser ist ... – Joel

Verwandte Themen