Ich bin wirklich neugierig, wie man Kommentar-Spam in einem Forum mithilfe einer Honigtopffalle für Spam-Bots verhindert.
Was ist, wenn CSS und Javascript in einem Browser deaktiviert sind?
Sehen Sie weitere Nachteile in der Honigtopffalle?
Was sollte Ihrer Meinung nach jede Honigtopffalle haben?
Kennen Sie eine andere Anti-Spam-Alternative, die die Benutzererfahrung nicht stört?
Antworten:
Ein richtiger Honigtopf ist nicht darauf angewiesen, dass einer von beiden funktioniert. Idealerweise verwenden Sie hierfür ein verstecktes Formularfeld, das kein wirkliches Verstecken erfordert.
Wenn Sie es richtig machen, sollte es keine Probleme geben, die den Benutzern bekannt sind. Es wird eine winzige Menge an Overhead erforderlich sein, damit es funktioniert, aber das sollte so gering sein, dass es nicht einmal ein Problem sein sollte.
Aus einer früheren Antwort : Sie könnten mehrere Dinge tun (und sollten mehr als eine tun), einschließlich:
Verwenden Sie ein CAPATCHA wie reCAPTCHA
Verwenden Sie ein Feld, in dem der Benutzer eine Frage wie 5 + 3 beantworten muss. Jeder Mensch kann sie beantworten, aber ein Bot weiß nicht, was zu tun ist, da Felder basierend auf Feldnamen automatisch ausgefüllt werden. Dieses Feld ist also entweder falsch oder fehlt. In diesem Fall wird die Übermittlung abgelehnt.
Verwenden Sie ein Token, fügen Sie es in eine Sitzung ein und fügen Sie es dem Formular hinzu. Wenn das Token nicht mit dem Formular gesendet wird oder nicht übereinstimmt, wird es automatisiert und kann ignoriert werden.
Suchen Sie nach wiederholten Übermittlungen von derselben IP-Adresse. Wenn Ihr Formular nicht zu viele Anfragen erhalten sollte, es aber plötzlich wahrscheinlich von einem Bot getroffen wird, sollten Sie in Betracht ziehen, die IP-Adresse vorübergehend zu blockieren.
Verwenden Sie Askimet . Es ist großartig, um Spam zu identifizieren.
Empfohlene Lektüre: Wie funktionieren Spambots?
quelle
Ich bin sicher, dass Formular-Bots alle
<input type="hidden">
Felder ignorieren . Die beste Lösung besteht darin, die Texteingabe wie gewohnt mit einem gemeinsamen Datentyp zu verwenden. Alles, was Sie derzeit nicht verwenden, ist in Ordnung, wie Website, Adresse, Postleitzahl, Benutzername usw.Fügen Sie eine Nachricht mit der Aufschrift "Wenn Sie dieses Feld sehen können, lassen Sie es bitte leer" hinzu. Wickeln Sie die Nachricht und die Eingabe in ein div-Element ein, wobei CSS so eingestellt ist, dass Folgendes angezeigt wird: keine.
Obwohl die meisten Spam-Bots sehr einfach und dumm sind, sind viele leider schlauer und können jeden beliebten Trick erkennen. Je nach Art des Formulars ist es möglicherweise besser, CAPTCHA oder Akismet zu verwenden.
quelle
Etwas, das ich nicht oft vorgeschlagen sehe, ist eine zeitbasierte Captcha-Lösung. Spam funktioniert am besten, indem es so schnell wie möglich veröffentlicht wird. Ich habe das von Google gehostete ReCaptcha durch eine Übermittlungsverzögerung von 20 Sekunden für meine Kontaktformulare mithilfe von PHP-Sitzungen ersetzt und Spam erheblich reduziert. Ich habe die Verzögerungszeit mithilfe von Analytics-Daten zum Benutzerverhalten ermittelt.
quelle