In den letzten Jahren wurden viele Strategien entwickelt, um gegen Spambots und Email-Harvesters vorzugehen. In diesem Artikel soll ein Ansatz vorgestellt werden, mit dem versucht wird, das Geschäft der Harvesters zu zerstören.

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 stetig wächst; so ergab eine Auswertung von Symantec, dass der Spamanteil bei knapp 66% liegt und dabei wurden 106 Milliarden Emails gescannt.

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. Eine Liste der gängigen Wege, um die Emailadresse zu schützen finden Sie hier (http://www.drweb.de/email/spam_harvester.shtml).

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 z.B. 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 "verstecken" z.B. als unsichtbare Ebene. 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 z.B. 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=$1

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; d.h. nur Bots, die sich nicht an die Robots.txt halten, fallen darauf rein. In wie weit diese Strategie effizient ist oder gar Abhilfe verschafft ist natürlich fragwürdig - jedoch ist sie ein aggressives Mittel um mal gegen die Spammer "zurückzuschlagen".

Bookmark setzen... These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Bloglines
  • MisterWong
  • MySpace
  • Reddit
  • SEOigg
  • Technorati
  • TwitThis
  • Y!GG
  • Google Bookmarks

Keine weiterführenden Beiträge.