maettig.com

Thiemos Archiv

Der aktuelle Artikel Combating Spam for Healthier Websites fasst Methoden zur Bekämpfung von Weblog- und anderem Kommentar-Spam zusammen. Das meiste ist nützlich und gut, einiges streitbar (reCAPTCHA etwa ist längst nicht mehr sicher), einiges unsinnig (jeder Spam-Kommentar kommt von einer anderen IP-Adresse). Mein eigener Tipp: Tue etwas Unerwartetes. Sei kreativ. Spam ist nur effektiv, wenn sich mit einer Methode tausende von Webseiten manipulieren lassen. Die beste Lösung ist deshalb immer, anders zu sein als die anderen 999. Ein paar konkrete Tipps habe ich aber auch.
  1. Verwende im HTML-Quelltext verschlüsselte Namen für die Formularfelder. Also nicht <input name="url"> sondern <input name="e7">. So ist es wesentlich schwerer für die Spam-Skripte (aber auch für Screenreader, Suchmaschinen etc.) herauszufinden, was wo einzutragen ist. Über die Nachteile sollte man sich im Klaren sein. Viele Webbrowser etwa merken sich frühere Eingaben und bieten sie in Formularfeldern mit dem selben Namen wieder an. Diesen Komfort verliert man schnell, wenn man nicht darauf achtet.
  2. Prüfe nicht nur, ob die Pflichtfelder in deinem Formular ausgefüllt sind sondern auch, ob sie verschieden ausgefüllt sind. Spam-Skripte tragen oft mehrmals den selben Text ein, nur um alle Felder zu füllen.
  3. Erzwinge eine Vorschau. Der Button unter dem Formular speichert den Kommentar nicht sofort sondern zeigt nur eine Vorschau an. Erst danach erscheint ein zweiter Button zum Speichern. Das ist eine Variation des im Artikel erwähnten CSRF-Schutzes. Eine schwächere Variante verwende ich beispielsweise bei meinen Fotos. Es gibt zwei Buttons, einen unbenannten und einen benannten. Spam-Skripte senden meist alle benannten Formularfelder mit und lösen damit die Vorschaufunktion aus. Bei einem echten Klick senden die Webbrowser nur den Namen des angeklickten Buttons mit.
  4. Erzwinge JavaScript, aber sei dabei intelligent. Ich beispielsweise verwende ein hidden-Feld, das durch ein winziges onsubmit-Script mit einem Wert gefüllt wird, der serverseitig geprüft wird. Die Methode ist sehr simpel und funktioniert hervorragend, hat aber auch schwerwiegende Nachteile. Der offensichtlichste ist, dass Benutzer ohne JavaScript nicht mehr kommentieren können. Zu sagen, »dann muss der Benutzer eben JavaScript einschalten« ist dumm, denn in den allermeisten Fällen kann der Benutzer gar nichts daran ändern, wenn Scripte gefiltert werden oder schlicht defekt sind. Deswegen prüfe ich das hidden-Feld nur, wenn der Kommentar eine URL enthält. Benutzer ohne JavaScript dürfen also kommentieren, sie dürfen nur keine Webadressen in ihren Kommentaren verwenden.
  5. IP- oder Domain-Filter funktionieren nicht mehr. Jede IP ist anders (Bot-Netze mit Millionen gehackter Privatrechnern, auf denen ohne Wissen der Besitzer Spamprogramme laufen). Jede URL ist anders (Millionen automatisch generierter Subdomains). Zeit in solche Filtermethoden zu investieren ist Verschwendung.
  6. Viele andere klassische Filtermethoden funktionieren aber nach wie vor. Spammer sind dumm. Sie prügeln Kommentare mit 50 URLs in die Formulare und es ist ihnen egal, dass es praktisch überall schon Konsens ist, nur Kommentare mit maximal 5 URLs zuzulassen. Bei 50 URLs genügt es den Spammern schon, wenn nur 2% ihrer Versuche funktionieren. Dann hat es sich schon gelohnt.

Kommentare zu diesem Beitrag können per E-Mail an den Autor gesandt werden.

[ ← Zurück zur Übersicht ]

Impressum & Datenschutz