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
Verwandte Artikel
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?








