Wordpress-Tutorial: Rechnen mit Spam [update]

WordPress-Tutorial: Rechnen mit Spam [update]

letztes Update dieses Artikels: 29.06.2008 Die von mir gesammelten Infos zum Thema optimale Spambekämpfung mit WordPress 2 gibt’s zusammengefasst im folgenden Tutorial – auf dass sie viele Blogs mit wenig Aufwand spamfrei halten mögen! Ich werde diesen Text ab und an mit neuen, interessanten Plugins aktualisieren, schließlich ist und bleibt der Kampf gegen die Spammer-Bande ein Kopf-an-Kopf Rennen. Ganz besonders empfehlenswert finde ich zur Zeit das WP-SpamFree Plugin: es erspart Captchas und funktioniert äußerst zuverlässig.

Inhalt

  1. Cpt. Spam, der unerwünschte Besucher
  2. händische Freischaltung
  3. händische Freischaltung des 1. Kommentars
  4. Akismet Antispam
  5. Update 06/2008: WP SpamFree Plugin
  6. Captcha und Co.
  7. HashCash
  8. Trackback-Spam
  9. Beispielskonfiguration
  10. Tipp: Umbennen der comments-Datei
  11. Links zu WordPress Antispam-Plugins und weiteren Infos

 

1. Cpt. Spam, der unerwünschte Besucher

Spam tritt längst nicht mehr nur in Form von E-Mails auf – wer selbst ein Blog oder ein Forum betreibt, weiß um die digitale Pest. Hier am Blog etwa fischte das Akismet-Plugin innerhalb von drei Monaten 425 Spameinträge aus der Datenbank – das sind weit mehr als tatsächliche Kommentare. Je beliebter und populärer ein Blog, desto hartnäckiger die Versuche der Spammer.

Ganz hilflos ausgeliefert ist der Webmaster den Bösewichtigen des digitalen Raumes dann aber doch nicht – um unerwünschte Werbekommentare zu vermeiden, existieren eine Reihe von Verfahren mit spezifischen Vor- und Nachteilen. Eine Registrierung vorzuschreiben für alle Besucher, die nur mal schnell ihre Meinung zu einem Artikel abgeben möchten, erscheint übertrieben. Wer seinen Besuchern die Möglichkeit geben möchte, schnell und unkompliziert zu kommentieren und sich zugleich vor Spam schützen will, dem stehen verschiedenen Wege offen – WordPress selbst kann um diverse Antispam-Lösungen erweiteren werden. Für ein optimales Ergebnis mit möglichst wenigen „false positives“ (darunter versteht man Einträge, die irrtümlich als Spam gekennzeichnet werden) einerseits und einem Minimum an händischem Eingriff andererseits empfiehlt sich eine Kombination mehrerer Plugins. Im folgenden möchte ich die einzelnen Strategien kurz vorstellen sowie ihre Vor- und Nachteile erläutern: Kommentare und Hinweise sind natürlich sehr erwünscht!

2. Händische Kommentar-Freischaltung

Jeder Kommentar wird manuell freigeschalten. Dazu braucht man keine Plugins, WordPress in der Grundkonfiguration bietet diese Option an.

Vorteil: die einzige Methode, die 100%ige Sicherheit bietet.
Nachteil: jeder Kommentar erfordert einen persönlichen Eingriff und erscheint erst nach Freitschaltung am Blog.

3. Händische Freischaltung des 1. Kommentares

Nur der erste Kommentar muss händisch freigeschalten werden: WordPress bietet unter Options/Discussion folgende Einstellmöglichkeiten:

Before a comment appears:
* An administrator must approve the comment (regardless of any matches below)
* Comment author must fill out name and e-mail
* Comment author must have a previously approved comment

Deaktiviert man die erste und aktiviert die zweite und dritte Option via Checkbox, dann muss der Webmaster nur mehr den ersten Kommentar einer Person händisch freischalten. Kommentiert derselbe User mit dem gleichen Nicknamen und der gleiche E-Mail Adresse, wird der Kommentare sofort freigeschalten.

Vorteil: Da die E-Mail Adresse für andere Besucher nicht ersichtlich ist, spart diese Methode einiges an Handarbeit
Nachteil: Trotzdem erfordert jeder „Erstlingskommentar“ einen händischen Eingriff und erscheint nicht sofort auf der Seite. Außerdem muss bei dieser Methode die Eingabe von E-Mail Adresse und Usernamen zwingend vorgeschrieben werden.

4. Akismet Antispam

Akismet beruht auf kollaborativer Spamfilterung und zeigt sich lernfähig:
Verdächtige Kommentare verschiebt Akismet in eine „Spam Queue“, die über das WordPress Moderationsinterface zugänglich sind. False Positives sind selten, im großen und ganzen funktioniert das System sehr zuverlässig. Das Plugin ist in WordPress 2.0 enthalten – bevor man es nutzen kann, benötigt man zum Zugriff auf die zentralen Server einen sogenannten API-Key, der nach Registrierung gratis erstellt wird.

Vorteil: kollaborative Spamfilterung, perfekt integriert in WordPress, enthalten im Lieferumfang
Nachteil: Akismet sollte unbedingt aktiviert werden – die Serverperformance leidet nur unwesentlich.

5. WP-SpamFree

Einen völlig neuen Ansatz verfolgt WP-SpamFree: das seit einigen Wochen verfügbar Plugin nutzt mehrere Layer der Spamerkennung, kommt mit integriertem Kontaktformular – und das beste daran: Captchas und sämtliche Fleißaufgaben für die User entfallen. Ich habe WP-SpamFree parallel mit Akismet seit 2 Monaten im Einsatz und kann nur sagen: it works like a charm! Auf der Plugin Homepage gibt’s eine ausführliche technische Erklärung zur Funktionsweise; ich kann allerdings nur versichern, dass der Claim des Programmierers *keineswegs* übertrieben ist:

Comment spam has been a huge problem for bloggers since the inception of blogs, and it just doesn’t seem to go away. The worst kind, and most prolific, is automated spam that comes from bots. Well, finally there is an effective solution, without CAPTCHA’s, challenge questions, or other inconvenience to site visitors. WP-SpamFree virtually eliminates automated comment spam from bots, including trackback and pingback spam.

Einerseits beherrschen die meisten Bots kein JavaScript, andererseits kommen recht komplexe Erkennungsroutinen zum Einsatz – die, wie gesagt, derzeit perfekt funktionieren. Natürlich bleibt der Kampf gegen die Spammer ein Wettrennen; aber ich hoffe dennoch, dass WP-SpamFree Captchas (und sogar das weit weniger nervige Math Comment AntiSpam) auch weiterhin überflüssig macht.

6. Captcha und Co.

Als Captcha bezeichnet man die grafischen Texte, die zur Überprüfung in ein Eingabefeld eingetragen werden müssen. Typischerweise handelt es sich um ein Bild das aus verschiedenen Buchstaben und Ziffern besteht. Um automatisierte Spambots von menschlichen Benutzern unterscheiden zu können, muss der betreffende Texte entziffert und eingegeben werden. Für WordPress existieren diverse Captcha-Plugins – einfach zu installieren ist captcha!, der Autor selbst empfiehlt allerdings die Verwendung von HashCash (siehe unten).

Vorteil: erhöhte Sicherheit gegen Spambots, trotzdem sofortige Freischaltung erwünschter Kommentare
Nachteil: den besten Schutz bieten möglichst schwer leserliche Captchas – diese wiederum verringern die Usability auch für menschliche Benutzer: häufig fällt zB die Unterscheidungen zwischen dem kleinen „l“ und er Ziffer „1“ schwer. In Kürze werden Spambots jedoch zumindest einfache Captchas automatisiert entschlüsseln können.

Eine imho sehr elegante Methode, die Vorteile von Captcha mit wesentlich besserer Usability zu kombinieren, stammt von Michael Wöhrer: das Math Comment Antispam Plugin ist schnell eingebaut – eine paar Zeilen Code im Comments-Template, und schon muss zukünftig jeder Kommentator rechnen: das Ergebnis einer simplen Addition zweier Zahlen (ob ein- oder mehrstellig lässt sich via Optionen regeln) muss als Verifikation in ein zusätzliches Eingabefeld eingetragen werden. In Aktion zu bewundern ist es zB im Kommentarfeld zu diesem Artikel.

7. Hashcash

Eine neue Variante, gegen automatisierte Spambots vorzugehen, bietete HashCash. Das System beruht auf der Übertragung eines Keys durch chiffriertes Javascript mit dynamischen Ajax-Funktionen: WP Hash-Cash. Die Funktionsweise im Detail:

Every four hours, your blog picks a random large number (close to 32 bits). Whenever a visitor visits your permalink pages, an ajax call is made which retrieves some javascript. This javascript first decrypts itself, then executes itself again to retrieve the secret value, which it sets in the form. If a comment does not have this value, it is rejected. If a comment is rejected more than four times, the user is blocked for a specified period of time.

Das bedeutet allerdings, dass HashCash nur funktioniert, solange automatisierte Spam-Software Javascript nicht interpretiert. Die Lösung bietet also nur Schutz, bis der Feind technisch aufrüstet:

Regarding Spam, WP-HashCash and its derivatives are methods that will eventually fail in the future. This is because those methods can be made automatic (it’s possible to make a program which interpretes JavaScript, the same way current browsers do, and sends Spam; I’ve already seen 2 ways to do that in Internet). It’s only a matter of time.
Any test made to detect whether a user is a human or a machine, will need human intervention (like Captcha! currently does). Otherwise, the test method could be made automatic and, thus, programmable on a machine. So, only when current plugin (WP-HashCash) has been beaten, I will resurrect Captcha! again. [via boriel.com]

8. Trackback-Spam

Von Haus überprüft WordPress nicht, ob Trackbacks (siehe Was ist eigentlich ein Trackback?) Links zum Artikel enthalten, auf den sie Bezug nehmen. Freche Spammer benutzen daher gerne die Trackback-Funktion, um vollautomatische ihren Müll im Kommentarfeed abzuladen.
Ein simples Plugin macht Schluss damit: Michael Wöhrers Simples Trackback Validation überprüft je nach Einstellung, ob ein der Artikel, der den Trackback sendet, einen Link zum eigenen Blog bzw. zum ge-trac-backten Artikel enthält. Falls nicht, bleibt’s beim Spam-Versuch und der Trackback wandert direkt in den Müll.

9. Beispielskonfiguration

Hier am datenschmutz.blog hatte ich zuerst die Variante „händische Freischaltung des 1. Kommentars“ gewählt – allerdings ist mir dies immer noch zuviel Eingriff, außerdem will ich, dass die Kommentare sofort erscheinen. Daher habe ich mich für folgende Konfiguration entschieden:

Discussion-Options: User müssen Name und E-Mailadresse ausfüllen Update: geändert; Username und E-Mail sind freiwillig nur die math antispam Rechenaufgabe ist Pflichtfeld. Grund: anonyme Kommentare sollen ermöglicht werden.
Plugins: Akismet Antispam | Simple Trackback Validation | Math Comment Spam Protection | WP-SpamFree

Diese Konfiguration hat sich in den letzten 2 Monaten ganz hervorragend bewährt. Vorher hatte ich die Math Comment Rechenaufgabe im Einsatz – doch WP-SpamFree macht das Capture erfreulicherweise bislang überflüssig.

10. Tipp: Umbenennen der Comments-Datei

Über Avilon bin ich auf einen weiteren Tipp gestoßen. Oft sind die simplen Methoden die erfolgreichsten – und im vorliegenden Fall müssen lediglich eine Datei umbenannt und eine Zeile Code geändert werden. Die Vorgehensweise im Detail:

  1. wp-comments-post.php auf einen beliebigen Namen umbenennen
  2. anschließend den Verweis auf die betreffende Datei im File comments.php anpassen.

Die betreffende Zeile sieht in etwa so aus:

<form id=“commentform“ method=“post“ action=“/wp-comments-post.php“>
wp-comments-post.php musst mit dem neuen Dateinamen, zB. wp-spam-me-not.php, ersetzt werden.

Sinn der Sache: viele Spam-Bots sind fest auf den vorgegebenen WordPress-Standard Namen der comments-Datei programmiert. Da diese Datei nur an einer Stelle referenziert wird, funktioniert das Umbenennen schnell und schmerzlos. Allerdings handelt es sich wie meist nur um eine temporäre Lösung: sobald die Spammer dazu übergehen, ihre Bots nicht auf einen fixen Dateinamen zu programmieren, sondern den Filename aus dem Blog auszulesen, greift die Maßnahme nicht mehr. Bis dahin sind die zwei Minuten allerdings gut investierte Zeit, um eine ganze Latte an Spambots ins Leere laufen zu lassen.

11. Links zu WordPress Antispam-Plugins und weiteren Infos

Akismet Antispam (bei WordPress 2 aktiviert, erfordert API-Key (gratis erhältlich bei WordPress.org)
WP-SpamFree im WordPress Plugin-Repository
Simple Trackback Validation
Math Comment Antispam
HashCash
SpamKarma 2: umfangreich, detaillierte Optionen

  1. Siegfried
    Siegfried sagte:

    Danke für die Zusammenfaassung. Ich hab bisher nur Aksimet aktiviert. Bin mal gespannt, ob noch mehr nötig ist.

  2. Nico
    Nico sagte:

    Hi, danke für das Nette Tu, hat mir sehr nach auch der Suche nach einer guten Anti-Spam-Lösung geholfen und alles gut kommentiert!

    danke :)

  3. Stefan
    Stefan sagte:

    Moin, moin,

    die Rechenaufgabe habe ich nun auch einige Wochen ausprobiert und funktioniert auch nicht wirksam. Erstens können die Spammer die Zahlen dekodieren und auch ausrechnen und zweitens haben fremdsprachige Kommentatoren arge Schwierigkeiten die Aufgabe zu verstehen.
    Trotzdem natürlich eine gute Übersicht.

    Grüße
    Stefan

  4. ritchie
    ritchie sagte:

    Naja, die Sache mit den fremdsprachigen Kommentatoren würd ich nicht allzu tragisch sehen: wenn man den Beitragstext überhaupt nicht lesen kann, dann macht das Kommentieren vermutlich auch nicht sooo viel Sinn. Außerdem könnte man auch einfach 5 6= neben das Feld hinschreiben, das wär auch ohne Sprachkenntnisse verständlich.
    Problematischer ist natürlich, dass sich das System knacken lässt, keine Frage. Allerdings hatte ich bislang hier keine Troubles (klopf auf Holz!), und ich find’s einfach sehr wichtig, dass Kommentare sofort freigeschalten werden.

  5. Franz Patzig
    Franz Patzig sagte:

    Ich benutze das Theme K2 ind habe testweise Math Comment installiert. Wenn man die falsche Sume eingibt und über den Back Button zurück geht, schliessen sich sich die persönlichen Angaben. Wie kann man das konfigurieren? Kann mir da jemand helfen? Danke!

  6. ritchie
    ritchie sagte:

    Bei mir ist das Problem etwas anders gelagert, weil ich die Ajax-Kommentarfunktion verwende – da funktioniert kein Back-Button, weil die Seite nicht erneut geladen wird. Leider geht bei Falscheingabe der Nachrichtentext verloren; aber ich hab noch keine Möglichkeiten gefunden, das zu umgehen.

  7. Suzan
    Suzan sagte:

    Interessante Liste, von dem meisten halte ich nicht sehr viel. Captchas stehen auf meiner persönlichen „Hassliste“! ;-)

    Interessant fand ich das Anti-Trackback-Spam Plugin. Das werde ich mal ausprobieren. Das in Verbindung mit dem genialen Akismet wird wohl zu 99,9% ausreichend sein.

  8. ritchie
    ritchie sagte:

    Ich finde Captchas auch extrem mühsam – va die Sorte, die nicht nur Spambots, sondern auch menschliche Leser zuverlässig blockt, weil Zeichen ein „1“ (eins) und „I“ und „l“ (Buchtabe) quasi nicht zu unterscheiden sind… das Anti TB Plugin ist wirklich sehr hilfreich; va weil immer mehr Spammer die TB-Funktion benutzen, weil die ja anscheinend die Filterung umgeht.
    Was mich am Akismet stört, sind die relativ vielen false positives und das Fehler jeglicher Konfigurationsoptionen.

  9. jan
    jan sagte:

    Danke für den Artikel, werde mal schauen, was ich noch davon verwenden kann.

  10. Loki
    Loki sagte:

    Naja, wenn man hier die Kommentare so liest, dann hat es wohl doch trotz Sicherheitsmaßnahmen der eine oder andere Spamer geschafft, seine „Visitenkarte“ zu hinterlassen… Z. Bsp. hier:

    # порно клипы schrieb am 13. September 2007 um 11:01

    порно клипы…

    WordPress-Tutorial: Rechnen mit Spam [update] auf datenschmutz.net…

    Gruß

    Loki

  11. ritchie
    ritchie sagte:

    Naja, ich geb zu: der war im Spam, den hab ich händisch freigeschalten, weil ich den Trackback zu diesem Artikel witzig fand!

  12. Bilder Upload Freak
    Bilder Upload Freak sagte:

    Ja also regestrierungen finde ich auch zu übertrieben, wenn man wirklich garkeine unerwünschten Links will sollte man entweder die Kommetare moderieren, oder die Link Zeile direkt entfernen. :lol:

  13. stefan
    stefan sagte:

    recaptcha wäre evtl. noch erwähnenswert. Durch die Captcha Eingaben werden gleichzeitig auch Bücher digitalisiert.

    • ritchie
      ritchie sagte:

      Recaptcha ist wirklich genial… ich hab ja zuerst nie verstanden, wie das funktionieren kann, wenn das script das richtige Ergebnis gar nicht kennt – aber durch die Kombination aus zwei Wörtern macht das ganze natürlich hochgradig Sinn. Außerdem sind die recaptcha-Wörter viel leichter zu entziffern für Human Readers als die künstlich entstellten Ziffern der übrigen Captchas. Aber am un-intrusivsten ist und bleibt für Blogs das gute alte Math Comment Antispam Plugin.

    • david
      david sagte:

      Weiß man eigentlich, welche Bücher da digitalisiert werden, bzw. wo kann man die Erfolge anschauen?

      • ritchie
        ritchie sagte:

        Guter Punkt! Auf sind zwar alle möglichen Plugins für diverse CMS’ses und Programmiersprachen zu finden, aber Link zu public results hab ich keinen gefunden.

        • Ätzgötz
          Ätzgötz sagte:

          Ach so… aha… ebenso nehme ich nicht an, dass jenes Projekt jemals kommerziell ausgeschlachtet würde. Warum auch, in den USA macht man das ja nie. Reichlich seltsam auch, dass man im Netz generell nicht auf die Idee gekommen ist, dass hier möglicherweise zusätzlich eine DB gespeist werden könnte, die auch den OCRs der Spammer nützen würde.
          Unken will ich ja möglichst selten, was mich im www aber arg nervt, ist diese heillose Massen-Euphorie gegenüber reCaptcha.
          Wer verifiziert denn eigentlich die realen Fakten über den Urprung und die Absichten? Nur weil ich bei Google ne halbe Million Schneeball-Hits für reCapture bekomme, muss ich den Scheiss noch lange nicht glauben.

  14. Kathi
    Kathi sagte:

    Also wenn recaptcha wirklich so funktioniert wie es beschrieben ist, bzw. auch irgendwann mal Resultate zu sehen sein werden, finde ich das wirklich ein geniale Idee.

  15. Anja
    Anja sagte:

    Ja Kathi, die recaptcha funktioniert wirklich so… früher war das anders, da haben wir die zahlen und Buchstaben getippt :-)

  16. Christopher
    Christopher sagte:

    Auch wenns schon etwas älter ist, ein sehr schönes Tutorial! Bin selbst gerade dabei, Kommentare endlich freizuschalten und demnach auf der Suche, was man am Besten gegen automatisierten Spam unternehmen kann. Man wird ja von den Möglichkeiten teils erschlagen, von daher toll, dass sich jemand die Arbeit macht, die einzelnen Schutzmöglichkeiten zusammen zu beleuchten. Vielen Dank! :grin:

  17. wulle
    wulle sagte:

    Hallo,
    Danke für das Tutorial!
    Es ist wirklich nicht einfach sich in diesem Dschungel zurechtzufinden, da sind solche Tipps und Tricks doch recht hilfreich und wertvoll.
    Es wird wohl mit den Spammern ein Katz und Maus Spiel bleiben…

  18. Suchmaschinenoptimierung
    Suchmaschinenoptimierung sagte:

    WP-SpamFree ist ein sehr guter Tipp – kannte ich noch nicht – ich benütze Akismet und da kommen italienische Spammer offensichtlich ohne Mühe durch :mad:

    WP-SpamFree wird da Abhilfe schaffen, hoffe ich :razz:

    Andreas

  19. tom
    tom sagte:

    :mrgreen:
    Habs hier gelesen und seit ein paar Tagen im Einsatz:

    Perfekt

    Danke schön

    mfg Tom

  20. Logger
    Logger sagte:

    Askimet…. :twisted: WP-Spamfree? :twisted: . Habe ich auch gelesen und getestet. Seit geraumer Zeit aber geht die Spammerei aber wieder durch… :evil:

  21. Free SMS
    Free SMS sagte:

    Hey supi, klappt wunderbar.
    Habs nun auch im Einsatz auf einem meiner Blogs.
    Echt toll :smile:

  22. Gratis SMS
    Gratis SMS sagte:

    Danke für die Empfehlung.
    Habe es seit ein paar Tagen im Einsatz und muss sagen:
    Spitze :cool:

    • ritchie
      ritchie sagte:

      Nein, die Übersicht ist aktuell – wenn sich Änderungen ergeben, aktualisiere ich dieses Posting.

  23. sunny
    sunny sagte:

    Danke, für deine schnelle Antwort. Sehr cooler Blog, habe dich jetzt unter meinen Favoriten.

  24. bloghure
    bloghure sagte:

    Hab ich den Sinn des Postings nicht verstanden oder warum sind die Kommentare + Kommentatoren hier so komisch?

  25. ron
    ron sagte:

    Verfolge den Bericht schon seit längerem mit Interesse. Gut finde ich die aktualisierungen um uns auf dem laufenden zu halten. Weiter so

    mfg

  26. Mario
    Mario sagte:

    Askimet hatte ich lange nicht benutzt, heute dann aktiviert. Mit Spam hatte ich nie Probleme gehabt, bis ich heute 19 Spam Kommentare und 5 Spam-Emails bekommen habe.

  27. roter
    roter sagte:

    Selbst wenn alles wie oben beschrieben läuft kommt noch die menschliche Seite des Web-Betreibers dazu. Wenn er den Spam zuläßt werden die die Kommentare von verschiedenen Seiten eindeutig zum spammen genutzt obwohl der Effekt bei Google nahe Null ist. Man kann damit höchstens noch Deeplinks bringen um Google zu sagen das da noch mehr/bzw. was neues ist…

    • ritchie
      ritchie sagte:

      Wie wahr, wie wahr. Allerdings hilft hier Akismet recht gut – wenn jemand mit Schrotflinten Kommentare abschießt, kriegt er sowiese ganz rasant lauter Spam-Meldungen, und dann ist’s bald vorbei mit WP-Spamming :mrgreen:

  28. cemx33
    cemx33 sagte:

    @ dizi izle

    Seiten eindeutig zum spammen genutzt obwohl der Effekt bei Google nahe Null ist.

    wieso gegen null? ein weiterer Backlink kommt dazu

    @richie,

    habe genau das Geganteil gehört, dass soger Backlinks von Blogs stärker von Google gewichtet werden sollen, die ändern auch ständig irgendwas

    • ritchie
      ritchie sagte:

      Ja, das stimmt – nichts genaus weiß man nicht. Der letzte Podcast von Matt Cutts war ja auch nicht gerade informativ.

  29. prn
    prn sagte:

    @ dizi izle

    Seiten eindeutig zum spammen genutzt obwohl der Effekt bei Google nahe Null ist.

    wieso gegen null? ein weiterer Backlink kommt dazu

    @richie,

    habe genau das Geganteil gehört, dass soger Backlinks von Blogs stärker von Google gewichtet werden sollen, die ändern auch ständig irgendwas