Die Idee
Spam ist wiederlich — ob im eMail-Postfach, als ColdCall am Telefon oder wie die Milliarden von SpamComments und Spamtrackbacks, die hier jede Minute aufschlagen. Hrhr. Sie sind nicht nur ägerlich, sondern verursachen jede Menge Traffic, der, sobald er zum Überschreiten bezahlter Trafficgrenzen führt, auch noch extra bezahlt werden darf. Toll, danke, ihr spammenden Hampelmännchen.
Die bisher verwendeten Plugins Akismet und Co. sind jedoch mächtig und produzieren nicht gerade wenig Traffic, wenn das Weblog erst einmal unter Dauerlast von Spammern steht. Externe Datenbanken abfragen, eintragen in die Kommentar-Tabelle der Datenbank hinter Wordpress aber als Spam deklarieren — das alles sind Prozesse, die Traffic erzeugen. Punktum.
Am einfachsten wäre IP-Blocking über .htacces oder direkt über Firewalling, wer seinen eigenen Server betreibt. Doch dazu sind die IP-Adressen zu unterschiedlich, als dass wirklich festgelegt werden könnte, dass diese oder jene IP grundsätzlich eine IP für Spam ist.
Wer damit leben kann, aus bestimmten Ländern mit entsprechender Endung keine Kommentare oder Trackbacks mehr zu erhalten, der kann ja auf Domain-Blocking umschalten — vorausgesetzt, es wird ein entsprechender Host+Domain mitgeliefert.
Bei unserem Plugin WatchMyBack24, was wir seit Wochen erfolgreich verwenden, sollen zwei Mechanismen greifen — zum einen der bewährte Mechanismus des TrackbackValidators, der überprüft, ob auf der Herkunftsseite eines Trackbacks ein Backlink zum Artikel existiert. Ist dies nicht der Fall, wird der Trackback als ungültig geblockt. Gegen dynamische Verlinkung checkt das Plugin, dass in dem Link zur Herkunftsseite des Trackbacks kein Konstruktion wie in etwa “..index.php?url=http://www.24stunden.de/…” enthalten ist. Wird eine ähnliche Konstruktion gefunden, wird auch dieser Trackback geblockt. Ohne Eintrag in die Datenbank, nur in einem Logfile wird der geblockte Versuch notiert. Auf der anderen Seite jedoch ist jede Überprüfung einer Herkunftsseite auf einen Backlink auch (traffic-)kostenintensiv — letztendlich geschieht schließlich die Überprüfung serverseitig. Also muss quasi vor dem Backlinkcheck bereits gefiltert werden, welche Überprüfung überhaupt lohnt. Dazu soll künftig vorher Host und Domain des Trackbacks über ein Filter gegengecheckt werden, ob Host und Domain nicht bereits zur Sperrung markiert sind — ist dies der Fall, lohnt die Überprüfung gar nicht, der Trackbackversuch kann abgebrochen werden.
» WatchMyBack24
Unser Projekt MathKey24 setzt auf die Ideen von “Did you pass math?” und “Math Comment Protection” auf — allerdings mit zwei Änderungen: MathKey24 setzt auf das Zahlwort, wenn es darum geht, Zahlen addieren zu lassen. Statt “5 + 5 =” wird “sieben + acht =” schwerer als Parser zu entwickeln sein — zumal ein Spambot-Programmierer der unterschiedlichen Sprachen mächtig sein müsste, für die das Plugin verwendet werden kann. Ein weiteres Sicherheitsfeature ist das Speichern des Ergebnisses in der Wordpress-Datenbank — so muss das Additions-Ergebnis nicht als “hidden”-Field kodiert mitgesandt werden. Das Schmankerl jedoch: Das Ergebnisfeld im Kommentarformular bekommt statt einem statischen Identifier (Benenner) einen dynamischen Schlüssel zugewiesen. Dieser Schlüssel wird ständig verändert und ist so durch ein Botprogramm nicht einfach zu ersetzen, da Spambotprogramme recht statisch sind — sie setzen auf Altbewährtes. Der Schlüssel wird benötigt, um das mitgesandte Ergebnis überhaupt zu identifizieren. Ist der Schlüssel gefälscht — sprich mit dem Schlüssel kann auf das Ergebnis nicht zugegriffen werden — wird der Kommentar nicht angenommen und gelöscht.
» MathKey24
Die Arbeit mit MathKey24 hat uns einiges gelehrt und uns zu CheatTheBot24 geführt: Das Rechnen mit Zahlworten scheint schwieriger als angenommen und das Arbeiten mit dynamischen Schlüsseln ist fehleranfällig — oder so: wir haben den Fehler noch nicht entschlüsselt. Aber am Wichtigsten war uns die Erkenntnis, dass, wenn man schon mit dynamischen Schlüsseln arbeitet, man eigentlich keine Matheüberprüfung mehr benötigt. Es ist egal, welche Daten mit dem Schlüssel-Identifier mitgeliefert werden, denn es kommt auf den Schlüssel an. Ist dieser nicht korrekt, sind die mitgelieferten Daten zum Schlüssel unbrauchbar. Also warum nicht einfach nur einen dynamischen Identifier mit dem Kommentarformular mitsenden? Einen Schlüssel der ständig gewechselt wird?
» CheatTheBot24
Letztendlich geht es nur um eins: Dein Plugin muss anders sein als alle anderen, es muss ein Plugin sein, dass durch vielleicht nur eine einzige Sache von allen anderen unterscheidbar ist — damit wird eine Automatisierung für einen Botprogrammierer verdammt schwer. Hätte jedes Weblog dieser Welt ein eigenes Plugin, das unverwechselbar unterscheidbar ist, wäre dies eine unlösbare Aufgabe für den Programmierer.
Tags: Spam | Anti-Spam | Plugins | WatchMyBack24 | MathKey24 | Wordpress | CheatTheBot24 | Weblog |

Kommentare sind geschlossen!