Kampf dem Spam: Spambots stoppen
Einleitung
Spambots grasen Webseiten ab, um darauf vorhandene eMail Adressen aus dem Quelltext auszulesen und für die dunklen Machenschaften der Spam Betreiber auszunutzen. Viele kennen das, kaum steht eine eMail Adresse im Web, kommt schon die Werbung in die eMailbox geflattert... Aber andererseits will man den werten Besuchern der Webseiten ja auch eine Kontaktmöglichkeit anbieten. Nun kann man dies sicher über serverseitige Kontaktformulare lösen, diese Funktionalität steht aber nicht überall zur Verfügung. Unser kleines Tutorial zeigt einen reinen Javascript Lösungsansatz dafür.
Verwendeter Ansatz
Als Ansatz wird verwendet, dass die Spambots den Quelltext der Webseiten auslesen, jedoch nicht, wie ein normaler Besucher durch seinen Browser, auch Javascripte ausführen. Das heisst also, steht eine eMail-Adresse nich im Klartext im Quelltext, kann ein Spambot sie nicht finden. Gut "Klartext" ist in diesem Fall auch nicht mehr ganz korrekt, denn es ist für die Spambots auch kein Problem, übliche Umschreibungen von eMail Adressen (z.b. muster_at_domain_dot_org) zu finden. Wenn aber die eMail-Adresse mit eigenen, verschieden definierbaren Regeln umgeschrieben wird, macht man es den Spambots sehr schwer.
JS-Funktionen
Das ganze Script besteht nur aus zwei Variablen und zwei Funktionen
Die beiden Variablen bestimmen den Code, durch den das @-Zeichen und der oder die Punkte in der eMail Adresse ausgetauscht werden.
var atsynonym = '%99%'; // für das @ var dotsynonym = 'xr&rx'; // für PunktDie erste Funktion wandelt den codierten String wieder in eine eMail Adresse um.
function decodeString(myEncStr) { var tmp; tmp = myEncStr.replace( eval("/" + atsynonym + "/"), '@'); tmp = tmp.replace( eval("/" + dotsynonym + "/g"), '.'); return(tmp); }Die zweite Funktion rufen Sie auf, um einen eMail Link zu setzen. Der Link sieht dann so aus wie weiter unten im Beispiel.
function printLink(myEncStr, withclass) { var decStr = decodeString(myEncStr); with ( document ) { open(); if ( withclass && withclass != '') { document.writeln("<a href="mailto:" + decStr + "" class="" + withclass + "">" + decStr + "</a>"); } else { document.writeln("<a href="mailto:" + decStr + "">" + decStr + "</a>"); } close(); } }
Beispiel
Hier ein eMail Link, voll funktionstüchtig aber nicht für Spambots lesbar!
Erstellt mit folgendem Quelltext-Snippet, der Spambot kriegt den rot markierten Text anstelle der eMail Adresse zu sehen:
<script type="text/javascript">
printLink('mannexr&rxmuster%99%testwebxr&rxcoxr&rxuk');
</script>
Verwendung / Einbau
Das Javascript ist recht einfach eingebaut und verwendet.
Zuerst wird das Script im Head des HTML Dokumentes referenziert, zum Beispiel:
<script type="text/javascript" src="nospambot.js"></script>Beachten Sie dabei die beiden Werte der Variablen (siehe oben) anzupassen! Denn wenn viele Leute jetzt diese Script verwenden würden und alle die gleiche Codierung nutzen würden, kämen Spambot Betreiber eventuell auf die Idee, diese Regeln mit aufzunehmen. Denkt sich jeder Nutzer des Scriptes aber eigene Werte aus, ist das ein wirksamer Schutz. Beim Ändern der Werte verwenden Sie bitte mindestens 4 unverwechselbare Zeichen pro Wert und seien Sie vorsichtig mit Sonderzeichen. Verwenden sie am besten nur A-Z, a-z, 0-9, %, &, : und _ dafür. Ein Bispiel:
var atsynonym = '__12345__'; // für das @ var dotsynonym = 'FX%%XF'; // für PunktDanach schreiben Sie an den Stellen in Ihrem HTML Code, wo Sie eine eMail Adresse einfügen einen Aufruf der printLink Funktion mit der codierten eMail Adresse und ggf. einer CSS Style Classe für den Link. Zum Beispiel:
<script type="text/javascript"> printLink('manneFX%%XFmuster__12345__testwebFX%%XFcoFX%%XFuk'); </script>oder mit dem Aufruf einer Style Classe für den Link:
<script type="text/javascript"> printLink('manneFX%%XFmuster__12345__testwebFX%%XFcoFX%%XFuk', 'linkstyle'); </script> // Resultierende Ausgabe: <a href="mailto:manne.muster@testweb.co.uk" class"linkstyle">manne.muster@testweb.co.uk</a>
eMail-Crypter
Damit es für Sie einfach ist, die eMail Adresse für das Script zu verschlüsseln, können Sie den folgenden eMail-Crypter verwenden, der die jeweils in der Datei nospambot.js definierten Variablen zu Berechnung verwendet.
Download dieses Tutorials mit allen zugehörigen JS Dateien
Seiteninformationen:
Kurzbeschreibung: Kampf dem Spam: Spambots stoppen - E-Mail Adressen per JS verschleiern
Suchbegriffe: Extern, Bild, Bilder, Grafik, Grafiken, Erreichbarkeit, verfügbar
Letzte Änderung: 22.03.2017 - 13:07
PageViews: 15.181
Startseite · Englische Version · Sitemap · Free Tools · Werbung · Impressum
Kurzbeschreibung: Kampf dem Spam: Spambots stoppen - E-Mail Adressen per JS verschleiern
Suchbegriffe: Extern, Bild, Bilder, Grafik, Grafiken, Erreichbarkeit, verfügbar
Letzte Änderung: 22.03.2017 - 13:07
PageViews: 15.181
Startseite · Englische Version · Sitemap · Free Tools · Werbung · Impressum