Logo
Startseite | PLUS Start | Shop | Mediadaten | Kontakt | Impressum | 4,552 Artikel Merker

Kampf den Spambots


Anzeige

In den letzten Jahren wurden viele Strategien entwickelt, um gegen Spambots und Email-Harvesters vorzugehen. Mancher versuchte es, indem er die Datenbestände der Spammer mit zufällig generierten Adressen verwässert. Ob die Methode zum Ziel führt ist fraglich. Wer es tun möchte, findet hier eine einfache Anleitung.

Spambots, das sind lästige Crawler oder Robots die das Internet nach Emailadressen durchforsten, um diese dann in Datenbanken zu hinterlegen und an etwaige Kunden zu verkaufen. Es scheint ein ziemlich lukratives Geschäft zu sein, da das Spamaufkommen immer noch stetig wächst; so ergab eine Auswertung von Symantec, dass der Spamanteil bei knapp 66% liegt und dabei wurden 106 Milliarden Emails gescannt. Andere Schätzungen siedeln das Spamaufkommen auch schon mal bei 90% an.

Mittel und Wege dem Einhalt zu gebieten gibt es viele – sie reichen vom maskieren der Emailadressen über JavaScript oder Unicode bzw. der Darstellung der Emailadresse als Grafikdatei.

Auf SpamHelp.org wird ein Ansatz vorgestellt; dabei wird festgestellt, dass der Kampf gegen die Spambots durch aussperren, oder ewiges Spammailfiltern zu defensiv ist. Der Ansatz von SpamHelp.org ist darauf ausgerichtet, die Lukrativität des Geschäfts mit Spamemails zu zerstören, indem die Datenbanken der Spambots mit Emailadressen "zugespamt" werden.

Hierzu wird schlicht ein Skript programmiert, mit dem bei jedem Seitenaufruf 100 neue Zufallsemailadressen aufgelistet werden; diese wandern bei jedem Spambotbesuch in deren Datenbank. Doch mit den Emailadressen können zumindest die Kunden von Spammern nicht viel anfangen, da die Emailadressen schlicht nicht existieren.

Ein Skript, mit dem eine solche Seite generiert werden kann, ist mit den gängigen Programmiersprachen schnell erstellt.
Es könnte wie folgt aussehen:

adressbuch.php

    <html>
    <head>
    <title>Emailadressen von Bekannten :-)</title>
    </head>
    <body>
    <h1>Adressbuch</h1>
    <?php
    function get_tld() {
    //man kann noch mehr TLDs hinzufügen
    $tld_data = array("us","ws","tf","cn","ch","at","de","info","biz","aero");

    //zufällig ausgewählte TLD wird zurückgegeben
    return $tld_data[rand(0,count($tld_data)-1)];
    }
    //Funktion zur Erzeugung von Zufallszeichenketten für Emailadresse
    function create_string() {
    $length = rand(5,20);
    $chars = "qwertzupasdfghkyxcvbnm123456789WERTZUPLKJHGFDSAYXCVBNM";
    srand ((double)microtime()*1000000);
    for($index = 0; $index < $length; $index++)
    {
    $string .= substr($chars,(rand()%(strlen ($chars))), 1);
    }
    return $string;
    }
    //Erzeugung von 100 Emailadressen
    for($i=0; $i <= 100; $i++)
    {
    echo "<a href=\"mailto:";
    echo create_string()."@".create_string().".".get_tld();
    echo "\">".create_string()."</a>";
    echo "<br>";
    }
    ?>
    <a href="http://www.ihre-seite.de/adressbuch.php?seite=<?php echo
    rand(1,1000) ?>" title="Adressbuch - Spambots only">Hier
    gibts noch mehr Email-Adressen</a>
    </body>
    </html>

Dabei besteht es schlicht aus zwei Funktionen; mit der ersten Funktion wird eine Topleveldomain für die Emailadresse zufällig ausgewählt (hier kann man natürlich weitere TLDs hinzufügen); mit der zweiten Funktion werden Zufallsstrings gebildet, die eine Länge von fünf bis zwanzig Zeichen haben.

In der For-Schleife werden daraufhin mit Hilfe dieser beiden Funktionen 100 Emailadressen samt Mailto-Links erzeugt. Den Link zu einem solchen Skript kann man jetzt auf der Webseite unterbringen.

Durch den nochmaligen Aufruf von email-liste.php mit einem zufällig angehängten Parameter wird der Spambot angeregt sich noch mehr Emailadressen zu holen. Falls der Spambot so "schlau" sein sollte, und erkennt, dass er im Endeffekt immer auf das selbe Skript zurückgeschickt wird, könnte man den Parameter über URL Rewriting etwa durch das Modul mod_rewrite verstecken.

Der hierfür notwendige Eintrag in eine .htaccess könnte wie folgt aussehen:

    RewriteEngine on
    RewriteRule ^adressbuch/seite-(.*)\.html$ adressbuch.php?seite=

Dabei müssen sie auch den Link im Skript verändern auf:

    <a href="http://www.ihre-seite.de/adressbuch/seite-<?php
    echo rand(1,100).html ?>" title="Adressbuch - Spambots only">Hier
    gibts noch mehr Email-Adressen</a>

Um zu verhindern, dass ein "normaler" Suchmaschinenbot auf diese Datei hereinfällt, sollte man in der Robots.txt den Bots den Besuch des Adressbuchs verbieten; das heißt nur Bots, die sich an die Robots.txt halten, fallen nicht darauf rein. In wie weit diese Strategie effizient ist oder gar Abhilfe verschafft ist fragwürdig - schließlich wird so auch die Menge der verschickten Junk-Mails in die Höhe getrieben. Jedoch ist sie ein aggressives Mittel, um einmal gegen die Spammer "zurückzuschlagen".

Nachtrag
Von Gerhard Brauckmann gibt es Plugin für Wordpress, ab Version 1.5.2, mit dem man spielend einfach "zurückschlagen" kann.

Erstveröffentlichung 26.08.2005

Über Thiemo Fetzer

GravatarThiemo Fetzer lebt seit 2008 in London und promoviert dort im Fachbereich "Entwicklungsökonomie" an der London School of Economics. Zuvor hat er Wirtschaftswissenschaften, Mathematik und Informatik in Magdeburg und Ulm studiert. Website. Weitere Beiträge für Dr. Web: 30

Verwandte Artikel

Bookmarken! Diese Icons verlinken auf Bookmark Dienste bei denen Nutzer neue Inhalte finden und mit anderen teilen können.
  • MisterWong
  • del.icio.us
  • TwitThis
  • Hype
  • StumbleUpon
  • Facebook
  • Wikio DE
  • YahooMyWeb

Meine Meinung

Bitte beachten Sie: Werbung und Spam sind unerwünscht und können eine Rechnung zur Folge haben. Woher kommen die Bilder neben den Kommentaren?