Das grundlegende Problem dürfte jedem Webdesigner oder Webmaster bekannt sein, sobald Emails im Klartext auf einer Webseite dargestellt werden, kommen die Spambots vorbei und lesen die Mail-Adressen aus. Das Resultat davon ist leicht vorherzusehen, man bekommt mit der Zeit massenweise Spam-Emails.
Es gibt zwar einige Tools die dabei helfen Email-Adressen zu schützen, aber nicht alle sind dabei Effektiv. Ein Beispiel wäre, dass die Email-Adressen in Hash-Zeichen umgewandelt werden oder mit JavaScript escapes versehen werden. Mittlerweile sind die meisten Spambots allerdings in der Lage die auf diese Weise kodierten Email-Adressen zu entschlüsseln und zu missbrauchen.
Eine gute und effektive Möglichkeit Email-Adressen zu schützen ist, dass sie nicht aussehen wie Email-Adressen. Der Link geht auf eine HTML Datei und nicht mit mailto: direkt auf eine Adresse. Der Text (innerHTML) zeigt im besten Fall auch keine Email-Adresse und schon gar nicht mit den sowieso beliebten test(at)test.de oder test[at]test.de Ersatzzeichen. Die werden auch von vielen Spambots mit ausgelesen.
Ein gut verschlüsselter Email-Link könnte also wie folgt aussehen:
info∂webdesign-podcast.de
Das ∂ Zeichen kann natürlich auch durch ein Bild von einem @ Zeichen oder sonst irgendetwas ersetzt werden.
An dieser Stelle kommt jetzt mein jQuery Plugin MailCrypt ins Spiel. Denn MailCrypt ersetzt das ∂ durch ein richtiges @ Zeichen und ändert den href des Links auf einen richtigen mailto: Link.
Für die Leute die kein JavaScript aktiv haben wird eben dieses Zeichen ∂ statt dem @ angezeigt da es dem @ relativ ähnlich ist. Wenn man dann auf den Link klickt wird man auf eine Kontakt Seite weitergeleitet. So sind also auch Leute ohne JavaScript abgesichert.
Das Script selbst ist OpenSource (GNU GPL oder MIT) extrem klein und einfach einzubinden.
Im Head der Webseite werden die jQuery und das MailCrypt Script eingebunden:
Danach wird die Funktion aufgerufen die das MailCrypt Script startet, es ist wichtig das die Funktion innerhalb der jQuery $(document).ready(); Funktion aufgerufen wird, also nachdem der komplette DOM geladen wurde:
a.mailcrypt gibt dabei an auf welches Email Links die Funktion angewendet werden soll.
Auf diese Art und Weise sind Email-Adresse halbwegs sicher.
MailCrypt herunterladen und Beispiel ansehen:
MailCrypt mit Beispiel herunterladen (37kb) | Hier ist eine Vorschau bzw. ein Beispiel des Scriptes