toscho.design

Spam verhindern mit Akismet und .htaccess

Hier im Blog kommen auf jeden echten Kommentar drei Spamversuche. Im Rahmen einer Twitterinitiative will ich hier mal meine Mittel dagegen vorstellen: Akismet und eine Blacklist in der .htaccess.

Akismet

Dieses Plugin kommt automatisch mit WordPress und gehört neben dem unbeliebten »Hello Dolly« zu den ersten Core-Plugins.

Es sendet die Daten eines Kommentars an einen zentralen Server, der sie auf Übereinstimmungen mit anderen als Spam markierten Kommentaren prüft. Wurde jemand in einem Blog als Spammer gekennzeichnet, so landen seine Kommentare in allen anderen Blogs, die Akismet verwenden, sofort im Spamverzeichnis. Akismet lernt also; das ist die große Stärke des System.

Installation

Wer WordPress installiert, hat Akismet automatisch an Bord. Mehr muß man nicht basteln; das Theme oder andere Dateien kommen ohne Änderung aus.
Allerdings muß man sich einen API-Key auf wordpress.com besorgen – für jedes Blog mit einer anderen E-Mail-Adresse.
Tip: In Google-Mail-Adressen können Punkte an beliebiger Stelle eingestreut werden; Akismet wird jede Variante als eigene Adresse betrachten, und man verbrennt nur eine.

Anwendung

Wie schon beschrieben: Die Daten werden an Dritte gesendet. Wer dem deutschen Recht unterliegt, sollte also über dem Kommentarfeld einen Link auf seine Datenschutzerklärung setzen, in der er klar auf diesen Vorgang hinweist.
Wer nicht per Gesetz dazu verpflichtet ist, möge das bitte als freundliche Geste auch tun.

Akismet funktioniert rein serverseitig und kann daher als sehr zugänglich bezeichnet werden. Javascript, CSS oder gar das Laden von Bildern sind nicht nötig.
Außerdem funktioniert es ohne Pflichtfelder. Hier darf jeder anonym schreiben, und das möchte ich auch beibehalten.

Präzision

Bei automatisiertem Spam funktioniert Akismet hier zu 100%. »Handarbeit« rutscht manchmal durch. Allerdings habe ich bei Weitem nirgends so viel Spam wie beispielsweise Frank; meine Erfahrung kann also nicht gut übertragen werden.

Manchmal erwischt Akismet auch richtige Kommentare, wenn deren Autor andernorts als Spam markiert wurde. Dieses »Lernergebnis« kann man jedoch wieder aufheben, so entsteht kein langfristiger Schaden.

Nachteile

Wenn Akismet einen Kommentar als Spam kennzeichnet, erhalte ich keine E-Mail. Ich muß also jeden Tag mindestens einmal in die Liste sehen, um eventuell falsch erkannte herauszufischen. Bei einem Blog stört das nicht, ich betreue aber ein paar mehr. Da bleibt da schon einmal ein Kommentar etwas länger in der Warteschleife. Schade.

AkismetmenuDas Menu hängt sich als Unterpunkt zum Dashboard ein, nicht unterhalb der Kommentare, wo es hingehört. Das provoziert WordPress dazu, auch einen Untereintrag Dashboard danebenzustellen. Lästig.

Akismet gehört zu Automattic, der treibenden Kraft hinter WordPress – und Gravatar, PollDaddy, IntenseDebate und bbPress. Dort laufen also viele Nutzerdaten zusammen. Für mich ist dies der Hauptgrund, mich nach Ersatz umzusehen.

.htaccess

Im Projekt »Stop Forum Spam« werden, wie der Name schon andeutet, Daten von Forenspammern gesammelt: Name, E-Mail- und IP-Adresse. Schlägt man dort eine IP-Adresse nach, bekommt man gleich auch die spammigen Nachbaradressen.
Wenn ich mal eine lange Liste von IP-Adressen habe, lasse ich sie dort nachsehen, und wenn sie schon bekannt sind, blockiere ich sie samt ihrer Nachbarn in allen Blogs, die ich betreue.
Ausnahme: »Deutsche« IPs blocke ich nicht, sondern ich schicke dem Provider eine Abuse-Mail.

Ich hatte dafür mal eine automatische Lösung, die leider nach einem Akismet-Update nicht mehr läuft. Da ich vermutlich nicht bei Akismet bleiben werde, habe ich das nicht mehr nachgeflickt.

Die Lösung hat den großen Vorteil, daß sie den Spammer wegschickt, bevor WordPress überhaupt geladen wird. Sie ist also sehr schnell.
Der Nachteil ist gegenwärtig die umständliche Handhabung. Ich werde vielleicht mal automatisch alle neuen IP-Adressen einmal pro Tag abfragen und in meine Liste übernehmen.

Mitmachen

Dieser Artikel ist Teil einer kleinen Aktion, die den Lesern eine Entscheidungshilfe geben soll. Wenn du auch ein Blog betreibst – es muß nicht WordPress sein – dann sieh doch mal in die Checkliste, und schreib einfach los.

Die folgende Liste ergänze ich, sobald ich von deinem Artikel erfahre: