Drei effektive Wege ihren Blog oder ihr Forum vom Spam zu befreien

Spam ist die „Geißel des Internets“ und tritt in vielen Formen auf. Am verbreitetsten ist wohl der E-Mail Spam, der immerhin 50 – 60% des weltweiten E-Mail Verkehrs ausmacht. Doch längst haben die Spammer neue Ziele ausgemacht, und so finden sich die Angebote zum Viagra-Kauf, Billigkredit und Penisverlängerung als Kommentare in Blogs, als riesige Beiträge in Foren oder in Bugtrackern bekannter Webprojekte.

Was kann man gegen diese Plage unternehmen?

1. Akismet

Der für den persönlichen Gebrauch kostenlose Dienst Akismet funktioniert wie eine Art Virenscanner für Spam-Nachrichten. Für die bekannten Blogsysteme gibt es zumeist fertige Plugins wie z.B. für WordPress und über 20 andere System, inklusive Klassen für PHP und ein Plugin für RoR. Um Akismet nutzen zu können braucht man einen (kostenlosen) API-Key von wordpress.com und natürlich eines der Plugins für die gewünschte Software. Eigene Projekte lassen sich wunderbar mit den zur Verfügung stehenden Klassen für die verschiedenen Programmiersprachen vor Spam schützen.

2. Honeypots

Eine simple aber effektive Methode sind sog. „Honeypots“. Dazu ist ein wenig Programmiererfahrung notwendig, aber der Aufwand hält sich in Grenzen. Die Idee ist, dem Spambot ein sehr ähnlich aussehendes Formular unter zu schieben, welches aber nicht einen Beitrag, Kommentar oder Registrierung auslöst, sondern eine einfache Bestätigungsseite anzeigt und den Inhalt danach verwirft.

Gerade bei Open-Source Software kennen die Spambot- Betreiber natürlich die Bezeichnungen der Formular-Felder, und trainieren ihre Bots entsprechend. Am effektivsten ist es daher, die originalen Bezeichner im Formular umzubenennen, und den „Honigtopf“ anschließend mit den ursprünglichen Bezeichnern zu realisieren. Sehr gut funktioniert auch die Methode, den Spambots einen Leckerbissen anzubieten dem sie nicht widerstehen können.

Als kleines Beispiel möchte ich das „Invision Power Board“ anführen, welches oft unter Spam leidet. Das Formular zum Abschicken von Beiträgen findet sich in der Datei „sources/Post.php“, ab Zeile 941. Dort wird das Formular in der Variable $form zusammengesetzt. Zunächst legt man z.B. einen DIV-Layer um das Honigtopf- Formular, und versteckt diesen für normale Besucher. Anschließend leitet man die Anfrage im action-Attribut auf einen eigenen Skript, der vorzugsweise „guestbook.php“, „post.php“ o.ä. heißt. Die einzelnen Felder werden dann in ähnlicher Manier benannt, so daß der Spambot sich doppelt eingeladen fühlt diese Formular zu benutzen. Das folgende Beispiel ruft einen Skript „guestbook.php“ auf, welches eine simple Bestätigungsseite anzeigt und die IP-Adresse des Spammers protokolliert:

$ip_log = getenv('REMOTE_ADDR');
$form .= "\n\n<div id=\"guestbook-form\" style=\"display: none;\">\n" .
"<form method=\"post\" action=\"guestbook.php\" name='REPLY'>\n" .
"<input type='hidden' name='st' value='".$ibforums->input[st]."' />\n".
"<input type='hidden' name='act' value='Post' />\n".
"<input type='hidden' name='s' value='".$ibforums->session_id."' />\n".
"<input type='hidden' name='f' value='".$this->forum['id']."' />\n".
"<input type='hidden' name='auth_key' value='".$this->md5_check."' />\n".
$this->obj['hidden_field'] .
"<input type='text' size='40' maxlength='40' name='UserName' value='' class='textinput' />\n" .
"<input type='text' size='40' maxlength='40' name='EMail' value='' class='textinput' />\n" .
"<input type='text' size='40' maxlength='40' name='HomePage' value='' class='textinput' />\n" .
"<textarea cols='80' rows='20' name='Post' tabindex='3' class='textinput'></textarea>\n" .
"<input type=\"submit\" name=\"Submit\" value=\"Add\" />\n" .
"<input type=\"hidden\" name=\"ip\" value=\"" . $ip_log . "\" />" .
"</form>\n";

Als weitere Schikane könnte man die originalen Bezeichnungen der Formulare dynamisch umbenennen, und z.B. eine Bezeichnung aus dem aktuellen Jahr und der URL der Webseite basteln… Dieses Verfahren habe ich schon oft eingesetzt, und die Abwehrquote liegt bei über 99% des automatisierten Spams. Bei Trackback- Spam funktioniert dieses Verfahren (meines Wissens nach) allerdings nicht.

Captchas

Viele kennen sicher die unleserlichen kleinen Bildchen, die eine Folge von Buchstaben und/oder Zahlen mit mehr oder weniger Verzerrung und zusätzlichen Elementen enthalten. Diese sollen die Spambots daran hindern ihren automatischen Spam abzuladen. Leider zeichnet es sich inzwischen ab, daß die Spambotbetreiber immer wirksamere Mittel und Wege finden, um auch diese sog. „Captchas“ zu erkennen und zu umgehen. Im o.g. Beispiel vom „Invision Power Board“ funktioniert das Captcha in der Version 1.3.1 z.B. nicht mehr, und der Registrierungs- Spam nimmt leicht überhand. In solchen Fällen kann ein Honeypot helfen, oder man baut sich sein eigenes Captcha, was meist am erfolgversprechendsten ist.

Das Captcha muss dabei nicht aus einem Bild mit Zahlen bestehen, einfache Rechenaufgaben oder logische Fragen eignen sich auch prima um den Spambot an der Nase herum zu führen. Einfache Fragen wie „Die Quadratwurzel aus 16?“, „Sieben plus fünf?“ oder „Welche Farbe hat Gras?“ sind (noch) unlösbar für diese Programme.

Zugegeben, für internationale Webseiten eignet sich diese Methode nicht so gut, bzw. bedarf sie hier einer besonderen Anpassung. Trotzdem finde ich diese Methode der simplen Fragen besser als die unleserlichen Bild- Captchas die man heute sehr oft sieht. Neben der zusätzlichen Behinderung sehschwacher Menschen werden auch alternative Anzeigegeräte (Textbrowser, Braille- Geräte) komplett ausgeschlossen. Bei einfachen Fragen können auch diese Benutzer das Angebot weiterhin in Anspruch nehmen.

Einige sehr gute Methoden für die E-Mail Spam- Bekämpfung finden sich bei den O’Reilly OpenBooks. Eine sehr schöne Methode um böse Spider von der eigenen Seite fernzuhalten findet sich bei Spider-Trap.

Getagged mit: , , ,
3 Kommentare zu “Drei effektive Wege ihren Blog oder ihr Forum vom Spam zu befreien
  1. TomK32 sagt:

    Ich persönlic bevorzuge Captchas mit Rechenaufgaben. Mit Akismet wurden zwar die 30+ Spam-Kommentare in meinem WordPress gefangen, aber mit den Captchas kommt blos noch ein Spam pro Woche und da kann ich mir echt nicht erklären wie das zustandekommt.

  2. tim sagt:

    Hallo zusammen Eine tolle Website habt ihr da. Immer weiter so. Viele Grüße aus dem schönen Oberbergischen Kreis. MfG Tim

  3. LeoWolf sagt:

    Ich habe auch sehr gute Erfahrungen mit Captchas gemacht. Auf IPB 1.3.1 muss man nur die Stadartschrifte gegen andere austauschen und es funktioniert weiterhin wunderbar. Seit 2 Jahren – kein Spam im Forum 🙂

1 Pings/Trackbacks für "Drei effektive Wege ihren Blog oder ihr Forum vom Spam zu befreien"
  1. […] Methode [link]: Wer gerne selber Hand an Extensions legt oder vielleicht spamshield um eine weitere […]