In den letzten Jahren ist es äußerst kompliziert geworden, grade kleine private Webseiten richtig zu betreiben. Ein Impressum braucht zwar inzwischen jeder, aber die darin bereitzustellenden Informationen variieren je nach Art des angebotenen Inhaltes. Und zu allem Überfluss kann einem auch niemand mit Sicherheit sagen, ob die getroffenen Maßnahmen ausreichend sind oder nicht.
Ich bin zwar nicht sonderlich angetan davon, meine Adresse im Impressum der ganzen Welt mitzuteilen, aber sicher ist sicher, und außerdem sind diese Infos ja auch schon durch eine WHOIS Abfrage in Erfahrung zu bringen, von daher ist es eh egal.
Aber zumindest kann man dafür sorgen, dass man nicht auch noch in zahlreichen Spam-Verzeichnissen auftaucht, indem man die eMail-Adresse im Impressum maskiert.
HTML Sonderzeichen – ASCII Codes
Die einfachste Variante zur Verschleierung beliebiger Inhalte sind die HTML Sonderzeichen. Dadurch macht man es allerdings nur Menschen schwer, den eigentlichen Text zu lesen, für ein Programm macht es hingegen keinen Unterschied, ob Klartext oder Sonderzeichen verwendet werden.
mail@example.com mail@example.com
JavaScript eMail Encrypter
Es gibt viele fertige Lösungen, die bekannteste nennt sich UnCryptMailto(). Dieser Funktion wird eine „verschlüsselte“ eMail Adresse übergeben, die dann einen gültigen mailto: Link daraus macht. Die Vorgehensweise ist dabei nicht sonderlich schwer, es wird einfach der ASCII-Code um ein Zeichen nach links oder rechts verschoben, fertig ist die verschlüsselte eMail.
Das ganze ist so simpel, dass davon ausgegangen werden darf, dass jeder moderne Webcrawler es ebenfalls beherrscht. Zumindest, solange man die Standardfunktion 1:1 aus dem Internet kopiert und nutzt.
Ein weiterer Nachteil besteht darin, dass die Mail-Adresse im Inhalt des a-Tags weiterhin lesbar ist. Die Hilfskrücke mail [at] example [dot] com sieht nicht nur häßlich aus, sie ist obendrein auch noch berechenbar und maschinenlesbar.
Wenn man sich die Funktion aber individuell anpasst, kann dies schon einen höheren Schutz gegen Crawler bieten. Man gebe der Funktion einen anderen Namen, benenne die Variablen um und nutze eine andere Verschiebung als ±1, schon hat man die 0815 Crawler abgehängt. Und statt mail [at] example [dot] com kann man ebensogut auch einfach „Schreib mir“ als Text nehmen.
Die ganze Lösung funktioniert allerdings nur, wenn JavaScript auch aktiviert ist. Ansonsten ist gar keine einache Kontaktaufnahme via Mail möglich, was im Impressum nicht zulässig sein könnte.
CSS
Einen weiteren Ansatz findet man im Internet unter dem Stichwort CSS. Man merkt, Not macht erfinderisch. Nur leider ziehen die Crawler auch immer nach. CSS bietet heutzutage wahrscheinlich auch schon keinen Schutz mehr, zumal es noch einige weitere Nachteile mit sich bringt. Ich liste es nur der Vollständigkeit halber mit auf.
Genauere Informationen zu den Möglichkeiten von CSS zum Schutz der eMail Adresse findet man beispielsweise auf www.ohne-css.gehts-gar.net.
Kombination aus JavaScript und CSS
Auf der Webseite http://1ngo.de habe ich schließlich eine interessante Kombination der bisher vorgestellten Techniken gefunden.
Standardmäßig verweist der Link auf ein Kontaktformular, und in seinem Text steht das Zeichen ∂ anstelle von @. Durch CSS wird das ∂ ausgeblendet und das @ eingefügt. Sollte ein Browser diese CSS-Funktion nicht beherrschen oder gar kein CSS ausführen können, so hat man immer noch eine gut lesbare eMail Adresse, die dann jedoch nicht 1:1 kopierbar wäre. Sobald CSS jedoch funktioniert, wird eine richtige eMail Adresse dargestellt, die auch kopiert werden kann.
Die JS-Funktion holt sich die Bestandteile der eMail Adresse aus dem Text und fügt sie zu einem gültigen mailto Link zusammen. Anschließend wird der vorgegebene Link zum Kontaktformular mit dem mailto Link überschrieben. Dadurch ist gewährleistet, dass auch bei deaktiviertem JavaScript noch ein nutzbarer Link vorhanden ist.
Für eine nochmals erhöhte Sicherheit empfehle ich nun noch eine Umbenennung der Funktionen und Variablen. Und wem das immer noch nicht genug ist, der kann jetzt noch die vorigen 3 Lösungsansätze mit diesem verbinden, Sonderzeichen in den Text streuen, mehr Ersätzungen durch CSS einbauen und die JavaScript „Verschlüsselung“ statt dem Auslesen der eMail Adresse aus dem Text verwenden.
Damit sollte man so ziemlich jedem Spambot einen Riegel vorgeschoben haben.