Welche Art der Verschlüsselung von e-mail-Adressen bietet wirklich Schutz vor Spammern?

Die e-mail-Adresse auf einer Website zu verschlüsseln und somit vor Spammern zu schützen, stellt eine Notwendigkeit für jede Website dar. Schaut man sich aber den Quellcode vieler Websites und vor allen Dingen Firmenwebsites an, kann man nur den Kopf schütteln. Zumeist sind e-mail-Adressen unverschlüsselt aufgeführt:

<a href="mailto:anton.meier@firmenadresse2222.de">mailto:anton.meier@firmenadresse2222.de</a>

Dabei stellt eine Verschlüsselung von e-mail-Adressen die einzige Möglichkeit dar, die eine e-mail von Anfang an vor SPAM schützt.

Anstelle dessen kaufen Firmen teure Anti-SPAM-Software, um den Mitarbeiter vor SPAM zu schützen, anstatt im Vorfeld eine vernünftige Internetagentur mit der Erstellung der Firmenwebsite zu beauftragen.

Ich kenne einen international tätigen Konzern, der auch an mehreren Standorten in China sitzt. Chinesische Lieferanten können den Mitarbeitern keine e-mail senden, da alle e-mail-Adressen mit chinesischer Endung (.cn) pauschal als SPAM gelöscht werden. Der Mitarbeiter erhält weder die e-mail-Nachricht des Lieferanten noch - logischerweise - eine Benachrichtigung, dass ihn eine e-mail-Nachricht nicht erreichen konnte...

Hinzu kommen aberwitzige Tipps auf der Masse der Internetseiten, die zwar wirkungsvoll aussehen, aber längst nicht mehr vor den SPAMbots schützen. Ob es die häufig empfohlene Unicode-Kodierung der Zeichen der Mailadresse ist, eine Umwandlung in Grafik oder der verzweifelte Versuch eines unwissenden Webmasters, seine e-mail mit

email (at) adresse.de

zu schützen.

Häufig wird die e-mail-Adresse auch einfach beschädigt:

email (at) DASHIERENTFERNENadresse.de.

Nervig für den Besucher Ihrer Website, der Ihnen eine e-mail senden möchte. Ich denke, fast alle werden keine senden. Genauso wenig eine (at)-e-mail-Adresse abtippen.

Spammer setzen häufig sogenannte Harvester ein. Harvester sind SPAMbots, die das Web crawlen (alle Websites durchwühlen) und Millionen e-mail-Adressen sammeln, die darauf über Datenbanken für "Mailingaktionen" der Spammer verwendet, aber auch verkauft werden.

Sobald Sie eine e-mail öffnen oder auch nur im Vorschaufenster betrachten, werden sichtbare oder unsichtbare Grafiken von Servern des Spammers nachgeladen. Ein Beweis dafür, dass Ihre e-mail-Adresse existiert und verwendet wird. Jetzt ist sie wertvoll und kann gewinnbringend weiterverkauft werden! Je weiter sie sich verteilt, desto mehr SPAM erhalten Sie.

Es gibt Community-Lösungen wie SPAMfighter.com, die e-mails auf dem PC des Users bei Empfang prüfen. Jeder User hat die Möglichkeit, eine e-mail-Nachricht über einen Button als SPAM zu markieren und zu übermitteln. Je mehr User eine e-mail-Nachricht als SPAM markieren, desto eher wird diese bei allen anderen automatisch entfernt. Eine sehr zeitaufwendige Lösung, da man jede SPAM dennoch sieht und prüfen muss, aber auch alle automatisch aussortieren SPAMs durchschauen und löschen muss.

Spassigerweise kam jemand vor einigen Jahren auf die Idee von Wegwerf-e-Mail-Adressen, die Sie nur verwenden, um sich auf Websiten anzumelden und freischalten zu lassen. Was für ein Aufwand.

Privatleute fallen in letzter Zeit ganz massiv auf Gewinnspiele im Internet herein und geben ihre Lieblings-email-Adresse an. Gewinnen wird man nichts - außer SPAM. Wer's mag.

Auch in Deutschland besteht ein legaler e-mail-Adressen-Handel. Oft akzeptieren Sie die Weitergabe Ihrer e-mail-Adresse an beteiligte Firmen o. ä. gemäss AGB.

Kommen wir auf den Punkt. Wie schütze ich eine e-mail-Adresse auf einer Website zeitgemäß und wirkungsvoll?

Was nur einen geringen Schutz gegen Spammer darstellt:

HASH-Zeichen
<a href="mailto:%65%6D%61%69%6C%40%65%6D%61%69%6C%2D%41%64%72%65%73%73%65%2E%64%65">Beispiel-e-mail</a>

Vertauschte Zeichen per Javascript
<SCRIPT language="javascript">eval(unescape('%76%61%72%20%73%3D%27%61%6D%6C%69%6F%74%65%3A%61%6D%6C%69%65%40%61%6D%6C%69%41%2D%72%64%73%65%65%73%64%2E%65%27%3B%76%61%72%20%72%3D%27%27%3B%66%6F%72%28%76%61%72%20%69%3D%30%3B%69%3C%73%2E%6C%65%6E%67%74%68%3B%69%2B%2B%2C%69%2B%2B%29%7B%72%3D%72%2B%73%2E%73%75%62%73%74%72%69%6E%67%28%69%2B%31%2C%69%2B%32%29%2B%73%2E%73%75%62%73%74%72%69%6E%67%28%69%2C%69%2B%31%29%7D%64%6F%63%75%6D%65%6E%74%2E%77%72%69%74%65%28%27%3C%61%20%68%72%65%66%3D%22%27%2B%72%2B%27%22%3E%42%65%69%73%70%69%65%6C%2D%65%2D%6D%61%69%6C%3C%2F%61%3E%27%29%3B'))</SCRIPT>

Beide können Sie z. B. über dieses e-mail-Verschlüsselungs-Tool erzeugen: eMail-Spamschutz

Am Ende gibt es, wie oft, das Beste. Die wirkungsvollste e-mail-Verschlüsselung, die ich je gesehen habe. Endlich Ruhe vor Spammern!

BEIDE nachfolgenden Methoden funktionieren NICHT im Google Blogger, da er, selbst in einem HTML/JavaScript-Seitenelement, nicht vollständig javascriptfähig ist.

Ein "Verdunkler" von e-mail-Adressen, der Email Obfuscator.

Neben dem Eintrag Ihrer e-mail-Adresse und dem Anchor Text (Linktext, z. B. Ihr Name), bietet dieses Tool noch zwei weitere Features: Geben Sie einen Link zu einer Seite auf Ihrer Website mit einem Kontaktformular an, um Besuchern, die Javascript ausgeschaltet haben, eine Kontaktmöglichkeit zu bieten. Und: verarschen Sie die Spammer! Man will ja schließlich eine wertvolle e-mail-Adresse liefern und den Spammer ködern!

Wie verarsche ich einen Spammer?
Legen Sie neben der e-mail-Adresse, die Sie verwenden, eine weitere e-mail-Adresse an, die nur für Spammer ist! Diese tragen Sie als Decoy email ein.

Vom Email Obfuscator erzeugter Code sieht dann so aus:
<span id="phlinkob361126"></span>
<script type="text/javascript" language="Javascript">
var erp = new Array;
erp[0] = 2004184166;
erp[1] = 1719222377;
erp[2] = 1768500589;
erp[3] = 1634298926;
erp[4] = 1684356670;
erp[5] = 1044134972;
erp[6] = 1467313254;
erp[7] = 1719214144;
erp[8] = 542602604;
erp[9] = 1717991772;
erp[10] = 1549543283;
erp[11] = 541616492;
erp[12] = 1717920364;
erp[13] = 28519;
var em = '';
var tmp;
for(i=0;i<erp.length;i++){
tmp = erp[i];
if(Math.floor((tmp/Math.pow(256,3)))>0){
em += String.fromCharCode(Math.floor((tmp/Math.pow(256,3))));
};
tmp = tmp - (Math.floor((tmp/Math.pow(256,3))) * Math.pow(256,3));
if(Math.floor((tmp/Math.pow(256,2)))>0){
em += String.fromCharCode(Math.floor((tmp/Math.pow(256,2))));
};

tmp = tmp - (Math.floor((tmp/Math.pow(256,2))) * Math.pow(256,2));
if(Math.floor((tmp/Math.pow(256,1)))>0){
em += String.fromCharCode(Math.floor((tmp/Math.pow(256,1))));
};
tmp = tmp - (Math.floor((tmp/Math.pow(256,1))) * Math.pow(256,1));
if(Math.floor((tmp/Math.pow(256,0)))>0){

em += String.fromCharCode(Math.floor((tmp/Math.pow(256,0))));
};
};
var tmp = new Array;
tmp = em.split('>>><<<');
em = tmp[0];
var an = tmp[1];
var nl = document.createElement('a');
nl.setAttribute('id', 'linkob361126');
nl.setAttribute('href', 'mailto:' + em);
document.getElementById('phlinkob361126').appendChild(nl);
document.getElementById('linkob361126').innerHTML = an;
</script>
<noscript>We're sorry, but Javascript must be enabled in order to access our email.</noscript>


Hier noch ein weiteres Online-Tool zur Verschleierung von e-mail-Adressen, welches diesen Code liefert:
<script type='text/javascript'>var a = new Array('l.de','essenmai','abcd@adr');document.write("<a href='mailto:"+a[2]+a[1]+a[0]+"'>"+a[2]+a[1]+a[0]+"</a>");</script>




8 comments:

Anonymous said...

Und warum sollten diese Spam-Sammlerinnen nicht die Umkehrfunktion dieses Scriptes ebenfalls verwenden? Bei genügend grosser Verbreitung lohnt sich der Aufwand für die Programmierung.

Es gibt ganz bestimmt keine besser "Verschleierung" gegenüber Robots als die Verwendung des Textes in Bildform - warum sonst würden hier chaptcha verwendet? ;-)

Wulffy said...

Dein Einwand ist berechtigt. Natürlich kann man ein Script erstellen, welches einem Spambot ermöglicht, diese Verschlüsselung zu entschlüsseln.

In erster Linie geht es sich in diesem Post aber darum, dass viel zu viele Seiten gar nicht verschlüsseln und ihre e-mail-Adressen völlig offen im Quelltext haben.

Kondome und die Pille schützen auch nicht zu 100%, aber ohne?

Wenn Du Dich allerdings damit beschäftigt hast, wie man Texte in Bildern erkennt und auslesen kann und Du dann wüßtest, dass OCR gestern war, dann würde wahrscheinlich niemand mehr eine e-mail-Adresse auf einer Website eintragen.

Es gibt aber längst auch wirklich gute Ideen, die mit JavaScript, PHP usw. realisiert wurden. Selbst ein zwischengeschaltetes Captcha mit einer Folgeseite, die nicht im Index erscheint (noindex), hilft immens.

Anonymous said...

Naja, am besten ist, es ganz bleiben zu lassen mit der E-Mail Adresse. Kontaktformular hin und gut is (Na klar, man muss dann hald einfach das Formular gegen bots schützen die nach Formularen suchen, aber immer noch besser als die geliebte E-Mail Adresse preis zu geben)
Ich bin überzeugt es ist eine frage der Zeit bis Bots Javascript können.

Wulffy said...

Einige Spamcrawler werden die einfache JavaScript-Verschlüsselung schon lesen können. Bei der von Email Obfuscator bin ich mir relativ sicher, wird es keinen geben. Wichtig ist dennoch irgendeine Verschlüsselung, so dass man wenigstens die semiprofessionellen Spammer ausschließt.

Anonymous said...

Nun ja... Man kann auch Methoden kombinieren... z.B. die erwähnte Verschlüsselung (einfach das @ durch @ ersetzen. Mehr braucht es nicht, denn wenn der Spamcrawler das @ dekodieren kann, dann kann er auch die ganze E-Mail decodieren). Damit hat man schon mal einen grossen Teil der Spammer ausgefiltert. Man verwendet nun eine temporäre E-Mail Addresse im eigenen Webauftritt. Die Mails von dieser Adresse lässt man automatisch vom Mail-Server an die echte Mail Adresse senden. Falls nun doch ein crowler die E-Mail Adresse aufschnappt, und eine erste Spam ins Postfach flattert, dann wird einfach die temporäte E-Mail Addresse geändert. z.B von My13temp@MyProvider.com auf My14temp@MyProvider.com. Damit fahre ich seit Jahren trotz vielbesuchter Webpräsenz praktisch spamfrei. Gruss John

Wulffy said...

Hallo, danke für Deinen Kommentar. Ist auch eine Möglichkeit, jedoch hier und da etwas zeitaufwendig, oder? Ich verschlüssele seit einiger Zeit mit 64-bit Verschlüsselung via JavaScript oder PHP. Das scheint bisher alle Spam-Bots davon abzuhalten, die e-mail-Adresse zu entschlüsseln, aber auch hier gibt es Möglichkeiten mit einem Bot, der einen Browser unter PHP laufen hat, die Ausgabe im Browser zu scrapen...

Anonymous said...

Hallo, danke für den nun doch schon älteren Artikel. Ich hab jetzt mal die zweite Version eingesetzt. Die erste ist mir doch etwas zu viel Code für nur eine Mailadresse...

Aber die Idee in den Kommentaren mit der temporären Adresse find ich super. Wenns nur ein Adressalias ist, dann wäre das auch schnell geändert, ohne das man immer das ganze Postfach umziehen muss.

Danke und Ciao!

Wulffy said...

Gern geschehen. Ich hatte bis vor einiger Zeit "Email Obfuscator" verwendet.