So schützen Sie die E-Mail-Adressen Ihrer Website vor Spam

Der sicherste Schutz vor Spam und gefährlichen Phishing-Mails wäre eine Website ganz ohne E-Mail-Adressen. Aber dann finden auch weniger Kunden und Partner den Weg in Ihr Postfach – ganz davon abgesehen, dass Unternehmen per Gesetz eine E-Mail-Adresse angeben müssen – z.B. im Impressum. Wie bleiben Sie dennoch möglichst sicher davor, dass Spam-Bots Ihre Adresse aufgreifen? In diesem Artikel stellen wir Ihnen einige Möglichkeiten vor, wie Sie Ihre E-Mail-Adresse schützen können.



Unternehmen brauchen eine gesetzeskonforme Lösung zum Schutz der E-Mails

Nicht nur das Telemediengesetz schreibt vor, dass Sie auf Ihrer Website eine einfach zugängliche E-Mail-Adresse nennen müssen. Auch die Vorgaben zur Barrierefreiheit der BITV (“Barrierefreie-Informationstechnik-Verordnung”) lässt wenig Handlungsspielraum, um sich zu schützen und sich gleichzeitig gemäß gesetzlicher Bestimmungen zu verhalten. 

Die einfachste, barrierefreie aber auch unsicherste Darstellung von Adressen ist natürlich die Angabe ganz ohne Schutz: Einfach zu klicken, auch von Text-To-Speech-Anwendungen zu lesen, aber leider auch für jeden Spam-Bot ein offenes Buch.

So sieht das auf dem Bildschirm Ihrer Nutzer aus: kontakt@intellitools.de

Empfehlung 1: Kontaktformular einsetzen

Ein Kontaktformular ist eine sehr sichere Alternative zu kompliziert versteckten E-Mail-Adressen oder der Variante ganz ohne Schutz. Der Nutzer weiß genau, was er zu tun hat und muss nicht mal sein E-Mail-Programm öffnen, um Ihnen eine Nachricht zu schreiben. Entsprechende Extensions und Plugins gibt es in den gängigen Content Management-Systemen – damit lässt sich ein Kontaktformular schnell umsetzen, ohne nur eine Zeile Code schreiben zu müssen.

Wichtig ist, dass Sie für Ihr Kontaktformular z.B. ein CAPTCHA (eine Form des Captchas ist der unsichtbare Captcha von Google) oder Honeypot einsetzen, damit das Formular vor Spam-Bots sicher ist. Ein bewährter CAPTCHA-Schutz ist der Google-eigene Dienst reCAPTCHA.

Für WordPress hat sich zum Beispiel das Plugin Contact Form 7 bewährt. Sie können es einfach zusammen mit reCAPTCHA auf Ihrer Website einbinden.

Nachteil eines Kontaktformulars: Komplett barrierefrei ist diese Lösung nicht. Blinden Nutzern machen Sie damit eine Kontaktaufnahme aber leichter als zum Beispiel mit einem Bild von Ihrer Adresse. Ein weiteres Problem: Der Gesetzgeber fordert eine “Adresse der elektronischen Post”. Website-Betreiber, die nur ein Formular für die Kontaktaufnahme anbieten, laufen Gefahr, abgemahnt zu werden.

Empfehlung 2: CAPTCHAs einsetzen

Sie können mit CAPTCHAs nicht nur Ihr Kontaktformular sichern, sondern auch einfach die ganze E-Mail-Adresse vor Bot-Zugriff schützen. Die Adresse wird erst sichtbar, sobald ein Nutzer sich als Mensch ausgewiesen hat, indem er zum Beispiel ein einfaches Rätsel löst oder die Zahlenkombination aus einem Bild abgetippt hat.

Auch hier bieten CAPTCHAs einen vergleichsweise hohen Schutz vor Spam, denn die E-Mail-Adresse wird nicht im Quellcode angezeigt oder ist verschlüsselt. Das CAPTCHA stört dank diverser Anpassungsmöglichkeiten auch nicht das Design der Website – allerdings könnte der zusätzlich nötige Aufwand einige Nutzer davon abhalten, Ihnen eine Nachricht zu schicken. Barrierefrei ist diese Lösung ebenfalls nicht.

Empfehlung 3: E-Mail-Adresse verschlüsseln

Dieser Tipp ist etwas für Ihre IT-Abteilung. Sie kann Ihre E-Mail-Adresse verschlüsseln, zum Beispiel mit dem ROT13-Verfahren, bei dem jeder Buchstabe Ihrer E-Mail-Adresse um 13 Zeichen im Alphabet rotiert wird. Ihre E-Mail-Adresse ist im JavaScript-Funktionsaufruf verschlüsselt als Parameter hinterlegt. Zusätzlich kann bei dieser Lösung der Spam-Bot auf eine Blacklist verbannt werden, sobald er die verschlüsselte Adresse aufspürt. Das ist ein großer Vorteil, denn Sie gehen als Unternehmen damit nachhaltig gegen Spam vor und tragen einen Teil dazu bei, dass Spam-Bots das Handwerk gelegt wird.

So sieht das auf dem Bildschirm Ihrer Nutzer aus:


Bitte schreiben Sie uns eine E-Mail! Vielen Dank!


Allerdings ist es möglich, dass diese Lösung (genauer gesagt das Muster dieser Art der Verschlüsselung) mit der Zeit von Spam-Bots erkannt und umgangen wird. Da kann ein komplexeres Verschlüsselungsverfahren helfen oder eine sogenannte ROT5-Routine für Zahlen.

Link-Tipp für dieses Verfahren:

-ROT-Generator mit zusätzlicher Option auf ROT5-Routine für Zahlen

Code-Ansicht – so kann die JavaScript-Lösung im Quellcode aussehen:



Empfehlung 4: E-Mail-Adresse verschleiern 

Maskierung durch Konvertierung zu Unicode

Es gibt diverse Online-Dienste, mit denen Sie kostenfrei Ihre E-Mail-Adresse in schwerer lesbaren Code umwandeln können. 

Aus der E-Mail-Adresse benutzer@domain.de wird dann zum Beispiel dieser Code:

benutzer@domain.de

Dafür haben wir das Tool auf dieser Website verwendet: www.onsite.org/html/antispam_email.html 

Browser können diese Verschlüsselungen normal lesen und übersetzen sie automatisch, sodass der Nutzer gar nichts davon merkt. Nach einem Klick auf den Link öffnet sich wie gewohnt das E-Mail-Programm. Bots hingegen können nur Quelltext lesen, und primitive Spam-Bots erkennen bei einer solchen Verkettung die E-Mail-Adresse nicht. Zum Beispiel, weil das @-Zeichen nicht mehr im Quelltext steht, aber auch das ganze Schema von E-Mail-Adressen aufgehoben ist. Für intelligente Crawler hingegen ist diese Variante der Verschleierung kein Hindernis mehr. Unser Fazit für diese Lösung: Besser als nichts, aber als alleinige Lösung kein zuverlässiger Schutz Ihrer E-Mail-Adressen.

Zeichenfolge von Adressen vertauschen

Ähnlich funktioniert die Verschleierung von E-Mail-Adressen durch umgekehrte Zeichenfolgen. Dank CSS können Website-Betreiber E-Mail-Adressen im Quellcode falsch herum hinterlegen und der Nutzer merkt nichts davon. Damit werden primitive Spam-Bots getäuscht. So wird aus der E-Mail-Adresse vorname.nachname@adresse.de für den Spam-Roboter “ed.esserda@emanhcan.emanrov”. Der CSS-Befehl dafür lautet:



Spam-Bots können damit an der Nase herum geführt werden und finden falsche E-Mail-Adressen vor. Die CSS-Eigenschaft unicode-bidi mit bidi-override sorgt in Kombination mit der Eigenschaft direction: rtl dafür, dass der Browser die rückwärts geschriebene Adresse von rechts nach links ausliest und somit richtig an den Nutzer ausgibt. Nur der Spam-Bot steht vor einem Rätsel. Allerdings lassen sich auch mit diesem Trick intelligente Spam-Programme nicht täuschen.

Empfehlung 5: Schutz per Weiterleitung

Harvesting nennt man die Methode, mit der Spam-Programme E-Mail-Adressen einsammeln und für unerwünschte Nachrichten archivieren. Eine einfache aber für Nutzer frustrierende Schutzmethode ist, die E-Mail-Adresse einfach als Bild auf der Website zu hinterlegen. Damit verschwindet die Adresse samt @-Zeichen aus dem Quelltext und die E-Mail-Harvester gehen leer aus. Diese Lösung ist aber nicht sonderlich nutzerfreundlich und auch nicht barrierefrei. Zwar können Bilder mit entsprechenden Alternativtexten versehen werden, aber die kann der Bot wiederum auslesen und der Schutzeffekt ist nicht mehr gegeben. 

Eine effektive Methode, die E-Mail-Adresse aus dem Quelltext einer Website zu entfernen, funktioniert über ein Redirect-Script. Es leitet menschliche Nutzer erst nach einem Link-Klick weiter auf den mailto-Verweis. Der öffnet dann wie gewohnt das E-Mail-Programm und fügt dort automatisch die E-Mail-Adresse in die Adresszeile von Outlook und Co. ein. Für Spam-Bots sieht ein solcher Link im Quelltext wie ein Verweis auf eine Datei aus. Damit kann der Bot die E-Mail-Adresse nicht mehr automatisch auslesen. 

In der Praxis läuft diese Schutzmaßnahme über einen Link auf eine PHP-Datei, die den Redirect auslöst:

In dem obigen HTML-Befehl ist die Datei redirect.php verlinkt. Dieses PHP-Script leitet auf den mailto-Verweis weiter, der dann das E-Mail-Programm aktiviert und die E-Mail-Adresse enthält:



Spam-Bots lesen den Quelltext einer Website aus, nicht aber verlinkte Dateien. Weil hier die E-Mail-Adresse in der PHP-Datei versteckt ist, kommen Spam-Programme nicht an die Adresse heran. Wenn Sie die Adresse zusätzlich visuell auf der Website darstellen wollen, sollten Sie das mit einem Bild lösen. Das Bild verlinkt dann auf das PHP-Script.

Nachteil dieser Variante zum Schutz von E-Mail-Adressen: Der Nutzer braucht ein Handler für das , um an die E-Mail-Adresse zu gelangen – also zum Beispiel ein E-Mail-Programm. Auf neueren Browsern können Nutzer aber auch Webmailer als Handler eintragen.

Doppelter Schutz ist besser 

Es gibt wohl keine Lösung für den perfekten Schutz der E-Mail-Adresse, die obendrein barrierefrei und nutzerfreundlich ist. Vergleichsweise wenig Schutz bietet ein Umschreiben oder Codieren einer Adresse, weil moderne E-Mail-Harvester diese Maßnahmen leicht aushebeln. Der Schutz ist aber dennoch besser als nichts und ist außerdem eine gute Vorstufe zur Verschlüsselung, etwa per PHP, wie in diesem Artikel gezeigt. Generell gilt: möglichst selten E-Mails auf Ihrer Website angeben, sondern auf Kontaktformulare setzen. Formulare reichen aber aus Sicht der laufenden Rechtsprechung nicht als Kontaktmöglichkeit aus. Abmahnungen drohen dem, der ausschließlich auf Formulare setzt.

Da, wo es also sein muss und eine E-Mail-Adresse genannt gehört, ist eine Verschlüsselung oder Maskierung per JavaScript ein verlässlicher Schutz. Um Abmahnungen vorzubeugen, sollten Unternehmen ihre geschützten E-Mail-Adressen zusätzlich grafisch darstellen – etwa im Impressum. Vor allem dann, wenn die E-Mail-Adresse nicht auf den ersten Blick sichtbar oder sogar erst im E-Mail-Programm übergeben wird. 

E-Mail-Adressen auf diese Weise zu schützen ersetzt aber keinen starken Spam-Filter. Die Kombination aus Filter und dem hier gezeigten Schutz kann aber noch mehr Schaden abwenden. Phishing, Schadsoftware und unerwünschte Werbung aus dem Netz werden dann noch seltener.