Ich glaube, es gibt kaum jemanden, der nicht von Spam in seinem Blog, seinem Forum oder Ähnlichem geplagt wurde. So auch wieder einmal ich und ich. Abhilfe kann man sich vielerlei besorgen. Aber was greift wirklich?
Ich hab mir da ein paar Gedanken gemacht um dem Spam Herr zu werden und mir alle Seiten die auf meinem System gehostet werden angesehen.
Dabei bin ich zu folgenden Feststellungen gekommen:
- Je bekannter eine Seite ist (Suchmaschinen-Ranking) desto grösser ist die Wahrscheinlichkeit Spam zu erhalten – Grund dafür ist, dass viele Spammer einfach Suchmaschinen nach Opfern abgrasen. Spam soll ja gesehen werden.
- Sobald es ein Online-Formular gibt wird es missbraucht werden – vorallem wenn es ein CMS von der Stange ist
- Spammer werden kaum zum Topic passend spammen
- Spam passiert in den seltensten Fällen manuell
So weit so gut – Gegen den ersten Punkt kann bzw. will man meist nichts machen, da es ja eines der Grundziele im Web ist, seine Seite bekannt zu machen.
Gegenmassnahmen gegen eben diese Flut sind dabei nicht immer effektiv, auch wenn sie es zu sein scheinen. Ein Beispiel sind sog. Captchas (Completely Automated Public Turing-Test to Tell Computers and Humans Apart), welche einen Text in einem Bild darstellen, den man abtippen muss. Selbst das wurde schon von diversen Programmen geknackt.
Also – was tun wir wirklich?
Ein Ansatz hielt mein Gästebuch für eine längere Zeit müllfrei, indem ich die Formularfelder anders benannte – und zwar genau paradox. Ich benannte das Feld der Mailadresse nach dem Feld für den Eintrag und umgekehrt. Validierungen erledigten den Rest. Später kam noch ein Feld dazu, welches über Javascript gefüllt wurde, da Spambots meist nur ‚dumme‘ Scripts sind, welche Javascript in den seltensten Fällen beherrschen.
Doch es geht noch einfacher: Ein ganz normales Formularfeld wird eingebaut und per CSS unsichtbar gemacht. Für Leute die das CSS ignorieren kommt noch eine Meldung dazu das Feld nicht auszufüllen… Und da Spambots normalweise alles ausfüllen, was nicht bei drei auf den Bäumen ist, braucht man vor dem Eintrag in die Datenbank nur zu überprüfen, ob Feld x nicht ausgefüllt ist.
Ein anderer Ansatz geht davon aus, dass Postings zu einer Webseite im weitesten Sinne wie Mails zu sehen sind. Die entsprechenden Tools wie Blacklisten lassen sich so ebenfalls realisieren, wie das Projekt AKISMET zeigt.