E-Mail

E-Mail-Link auf Webseiten vor E-Mail-Harvestern verbergen

Zum Schutz vor unliebsamen Spam-Mails sollte man äußerst sparsam mit der Bekanntmachung seiner E-Mail-Adresse umgehen. Vor allem sollte man sich tunlichst bremsen, seine E-Mail-Adresse in öffentlichen Foren zu posten und/oder sich bei Newslettern einzutragen, wenn dies nicht unbedingt erforderlich ist.
E-Mail-Harvester (to harvest: "ernten") sind Such-Programme, die Webseiten nach E-Mail-Adressen "abgrasen", um sie dann mit Spam-Mails zumüllen zu können. Das ist nicht sonderlich schwierig, da der Harvester auf Webseiten nur nach Zeichenketten suchen muß, zwischen denen ein "@" steht.

Es gibt die unterschiedlichsten Ansätze, sich vor den Massen-Mails zu schützen, nicht zuletzt natürlich sogenannte Spam-Filter in E-Mail-Programmen u.ä. Um dem Übel aber "näher in Richtung Wurzel" beizukommen, sollte man seine E-Mail-Adresse auf Webseiten so ablegen, daß sie nicht so einfach von einem Harvester als E-Mail-Adresse zu erkennen ist. Aus diesem Grund begegnet man immer öfter Mail-Adressen wie z.B.

peter(AT)peterson.de

und dem Hinweis, bei einer Kontaktaufnahme die Zeichenkette "(AT)" durch das @-Zeichen zu ersetzen. Im Quelltet der Webseite sieht das dann etwa so aus:

<a href="mailto:peter-AT-peterson.de">peter(AT)peterson.de</a>

Der Ansatz ist im Grundgedanken hervorragend, jedoch hat er 3 kleinere Mankos:
  1. Der Benutzer, der auf den Link klickt, muß in seinem E-Mail-Programm von Hand die Zeichenkette ändern.
  2. Die Adresse steht immernoch mehr oder weniger im Klartext im Quelltext der Webseite. E-Mail-Harvester werden schließlich auch ständig schlauer und suchen mittlerweile neben dem @-Zeichen auch schon nach Zeichenketten wie z.B. (@) oder (AT).
  3. Sehr verräterrisch gegenüber einem E-Mail-Harvester ist natürlich der String mailto: im Quelltext, sodaß er hier erhöhte Aufmerksamkeit an den Tag legen wird.
Um all diesen Punkten so gut als möglich entgegenzukommen, kann man sich eines fuchsigen Java-Skripts bedienen, welches alle markanten Eigenschaften einer E-Mail-Adresse im Quelltext verschleihert.
Einziger Nachteil: Es muß JavaScript im Browser aktiviert sein, damit der Klick auf den Link funktioniert. Für den menschlichen Betrachter ist aber auch bei deaktiviertem JavaScript ersichtlich, wie die E-Mail-Adresse zu lauten hat.
Ach ja, und man benötigt natürlich Zugriff auf den Quelltext der Webseite, um das JavaScript einzubauen. In den meisten öffentlichen Diskussionsforen hat man dazu in der Regel keine Möglichkeit, aber für die eigene Homepage u.ä. ist diese Möglichkeit sehr geeignet.

Knack- und Angelpunkt bei diesem Skript ist, daß der E-Mail-Link chiffriert im Quelltext liegt, also weder @-Zeichen noch Punkt(e) lesbar vorliegen. Selbst der String mailto: liegt nicht im Klartext vor. Erst beim Klicken auf den Link wird die JavaScript-Funktion gestartet, die das chiffrierte Kauderwelsch wieder in eine klare E-Mail-Adresse übersetzt und den E-Mail-Link aufruft.
Die Chiffrierung selbst ist so einfach wie genial: Jedes Zeichen im Klartext-String

<a href="mailto:peter@peterson.de">peter@peterson.de</a>

wird durch ein anderes Zeichen ersetzt. Aus B wird z.B. {, aus E wird $, usw. Die JavaScript-Funktion macht diese Chiffrierung beim Klicken auf den Link wieder rückgängig und ruft dann den Klartext-Link auf. Der eigentliche Webseiten-Text, auf den man klickt und hinter dem sich der Link verbirgt, wird dabei ebenfalls verändert, allerdings nur soweit, daß seine Aussage für den menschlichen Betrachter immernoch erkennbar bleibt. Das @-Zeichen wird durch den String |AT|, vorhandene Punkte durch den String |PUNKT| ersetzt, jeweils eingeschlossen von zwei aufeinanderfolgenden Leerzeichen. Bei Bedarf kann dieser Text natürlich auch durch jeden anderen Text, wie z.B. "Kontaktadresse", oder auch durch ein Bild ersetzt werden.

Bleibt die Frage, wie man den chiffrierten String erhält, der vom Skript wieder "zurückübersetzt" werden soll.
Dazu haben wir hier ein kleines Formular erstellt, welches diese Arbeit übernimmt.
  1. E-Mail-Adresse im ersten Formularfeld eingeben
  2. auf den Button Chiffrieren! klicken
  3. Die JavaScript-Datei "maillinks.js" durch Anklicken mit der rechten Maustaste siehe auch "Ziel speichern unter..." herunterladen und wie im zweiten Formularfeld gezeigt in den HEAD der HTML-Seite einbinden
      (Anm.: An diesem JavaScript ändert sich durch die Chiffrierung nichts, es muß also nur einmal im HEAD der Webseite eingefügt werden, auch wenn mehrere chiffrierte E-Mail-Links auf der Seite eingefügt werden sollen!)
  4. chiffrierten Link in den BODY der HTML-Seite einfügen

zu verschlüsselnde E-Mail-Adresse eintragen und auf "Chiffrieren!" klicken
    E-Mail-Adresse:
    Betreff (optional):
Folgenden JavaScript-Aufruf in den HEAD-Tag der HTML-Seite eintragen:
chiffrierter E-Mail-Link zum Kopieren-Einfügen im BODY-Tag:


...sieht aus und funktioniert dann auf Ihrer Webseite wie folgt:





Nachtrag:

Achtung: Wenn Sie Probleme beim Aufrufen der generierten Links auf Ihrer Webseite haben und/oder dort eine Fehlermeldung angezeigt wird, der Beispiel-Link oben unterhalb von "...sieht aus und funktioniert dann auf Ihrer Webseite wie folgt" aber funktioniert, wurde Ihre HTML-Datei möglicherweise nicht auf einem Windows-System erstellt und es liegt möglicherweise eine abweichende Zeichenkodierung zugrunde!.
Windows verwendet für einen Zeilenwechsel beispielsweise die Codierung "CR+LF" (carriage return + line feed), Unix verwendet nur LF, Macintosh nur CR. Hinzu kommen noch Unterschiede der Kodierungen "Unicode, UTF-8" und "Windows 1252: Western European".
Die hier angebotene Vorgehensweise zum Generieren der Links beziehen sich ausschließlich auf Dateien mit Windows-Kodierung. Für andere Systeme sind gegebenenfalls Anpassungen notwendig!



- UAP -








Suchbegriffe für diese Seite:
E-Mail, Email, Mail, Adresse, Addresse, Harvester, codieren, verschlüsseln, chiffrieren, schützen, Schutz, verstecken, crypt, encrypt, SPAM, Spam-Schutz, Massenmail, Suchmaschine, Suchmaschinen, Filter, JavaScript, Java-Script, JavaSkript, Java-Skript