Schon seit längerer Zeit beschäftige ich mich mit dem Spamschutz hier im Blog. Ziel von mir ist es allen Spam ohne Plugin oder größerer Funktionen herauszufischen. Angefangen hat alles mit einem einfachen Honeypot. Doch es geht auch wesentlich einfacher. Alles was man braucht ist etwas CSS und die „Kommentar-Sperrliste“.
Wenn ein Kommentar eines der folgenden Wörter innerhalb von Inhalt, Autornamen, URL, E-Mail-Adresse, IP-Adresse oder User-Agent-Zeichenkette des Browsers enthält, wird er in den Papierkorb verschoben.
Beschreibung in WordPress zur Kommentar-Sperrliste
Das alles geht aus der Idee hervor, dass WordPress alle Kommentare, die Wörter aus der Kommentar-Sperrliste enthalten, in den Papierkorb verschiebt. Wobei ich jetzt nicht der Erste bin, der diese Liste nutzt. Sogar Plugins kann man zu dem Thema installieren. Einige Davon gaben über 44.000 Begriffe und Phrasen für diese Liste.
Ein „Honeypot“ ist schnell erklärt. Man nehme ein zusätzliches Kommentarfeld und verstecke es per CSS vor dem Leser. Der Leser, der das Feld nicht sieht, wird es nicht ausfüllen. Der Spambot dagegen schon, denn der sieht die Seite anders. Fehlt nur noch eine einfache Abfrage, die klärt, ob das versteckte Feld ausgefüllt ist und den Kommentar dann als Spam behandelt.
Allerdings reicht ein einziger Eintrag um allen Spam in den Papierkorb zu verschieben. Ich gehe dabei von der Theorie aus, dass in jedem Spam-Kommentar mindestens ein Link zu finden ist und jeder Link fängt mit einem „http“ an. Deshalb reicht es in das Feld Kommentar-Sperrliste eben dieses „http“ zu schreiben. Auch ein Honeypot klappt auf diese Art und Weise. Das Kommentarfeld „Website“ wird zu diesem Zweck per CSS ausgeblendet.
.comment-form-url,
.comment-form-url label,
.comment-form-url input {
opacity: 0;
position: absolute;
top: 0;
left: 0;
height: 0;
width: 0;
z-index: -1;
}
Ich habe es getestet. Es funktioniert. Und das auch noch ohne ein „http://“ in der URL im Feld „Website“. Bei dieser Art Spam-Schutz gibt’s nur ein kleines Problem. Jeglicher Kommentar mit Link, auch sinnvolle Kommentare, werden auf diese Art und Weise in den Papierkorb verschoben. Für mich ist das kein Problem. Die sinnvollen Kommentare fische ich wieder raus.