Mit den aktuell steigenden Phishing- und Betrugsversuchen, sollten auch Sie sich als Webseitenbetreiber vor solchen Mails schützen. In diesem Beitrag stellen wir Ihnen 16 verschiedene Methoden zur geschützten Darstellung von E-Mail-Adressen vor.
Sollten Sie bei der Umsetzung einer dieser Methoden nicht weiterkommen, helfen wir Ihnen bei Bedarf gerne weiter. Rufen Sie einfach bei uns an, schreiben uns eine E-Mail oder nutzen Sie unser Kontakt-Formular.
1. Kein Schutz – einfache Darstellung
Wenn Sie auf Ihrer Webseite Ihre E-Mail-Adresse als Kontaktmöglichkeit hinterlegen möchten, können Sie dies beispielsweise wie folgt darstellen:
Vorteil: - Benutzer können schnell und unkompliziert auf die E-Mail-Adresse klicken und sofort eine E-Mail an die ausgewählte Adresse verfassen.
Nachteil: - Die E-Mail-Adresse wird dadurch von SPAM-Bots aufgenommen.
2. Ersetzung der E-Mail-Adresse durch Bilder oder ähnliche Elemente
Sie können die E-Mail-Adresse statt im Quelltext in Textform zu hinterlegen, auch als Bild darstellen.
Code:
Ihre Nachricht:<img src="/PATH/IMGNAME.png" width="123" height="21" alt="Sie erreichen uns unter der E-Mail-Adresse ...">
Vorteil: - Menschliche Benutzer werden kein Problem dabei haben, diese E-Mail-Adresse als eine solche zu identifizieren. Diese Variante ist sehr gut für den Spam-Schutz geeignet.
Nachteile: - Die Screen Reader können die Grafiken nicht darstellen, wodurch die Barrierefreiheit nicht gegeben ist. Sie nutzen daher den Alternativtext, welchen die Spam-Bots jedoch auch lesen können.
- Dazu kommt noch, dass die Benutzer das E-Mail Programm selbst öffnen und die E-Mail-Adresse, da sie diese nicht einfach kopieren können, manuell eingeben müssen.
- Einige Harvester besitzen mittlerweile sogar die Möglichkeit mittels OCR (optische Texterkennung) die Bilder auf Text zu durchsuchen.
3. Datei-URLs mit anschließendem Redirect zur E-Mail-Adresse
Noch eine Möglichkeit wäre die direkte Weiterleitung per HTTP-Redirect (z.B. per JavaScript, Apache mod_rewrite oder serverseitige Skripte).
Ein Beispiel hierfür wäre folgendes:
Beispiel:
Bitte hinterlassen Sie uns eine Nachricht! Wir sind gerne für Sie da!
Code:
Bitte hinterlassen Sie uns eine <a href="/email_handler.php">Nachricht</a>! Wir sind gerne für Sie da!
Diese Datei wird somit serverseitig verarbeitet. Anschließend kann der Mail-Link per „mailto:“-Link als Redirect ausgeführt werden. Dadurch wird das Mailprogramm mit den bereits korrekt hinterlegten Empfänger-Daten geöffnet.
Code für die "email_handler.php"
Vorteile: - Spam-Bots erkennen keine explizit hinterlegte E-Mail-Adresse, da es für die Spam-Bots wie eine ganz normale Verlinkung einer Datei aussieht.
- Zusätzlich wird das E-Mail Programm des Benutzers mit bereits korrekt hinterlegter Empfängeradresse geöffnet. Der Benutzer muss die E-Mail-Adresse somit nicht anpassen.
Nachteil: - Ein Skript (Redirect) wird benötigt. Der Aufwand dafür fällt jedoch vergleichsweise gering aus.
4. Verschleierung durch das Ausschreiben der Sonderzeichen
Durch Ersetzung der Sonderzeichen „@“ und „ . “ von der E-Mail-Adresse in „AT“ und „Punkt“ (bzw. DOT), kann der Link als Text dargestellt werden. Wenn die „mailto“-Angabe vor dem Link steht, wird dieser auch als E-Mail-Link erkannt. Es wird zwar das E-Mail Programm des Benutzers geöffnet, dieser muss jedoch die E-Mail manuell anpassen („AT“ -> @ und „PUNKT“ -> . ).
Ist die „mailto“-Angabe nicht vorhanden, so muss der Benutzer selbst das E-Mail Programm öffnen und die gesamte E-Mail-Adresse manuell eingeben.
Beispiel:
Schreiben Sie uns gerne eine E-Mail an beispiel AT dmsolutions PUNKT de
Vorteil: - Die Darstellung im Browser stellt auch ohne „mailto“-Angabe bzw. komplette Link-Syntax kein Problem dar.
Nachteile: - Spam-Bots haben die Möglichkeiten, die Ersetzungen automatisch durchzuführen.
- Der Benutzer muss die die E-Mail-Adresse selbst anpassen bzw. manuell eingeben, wodurch der ganze Aufwand beim Benutzer liegt
5. Verschleierung durch sog. HTML-Entities
Sonderzeichen können durch sogenannte HTML-Entities (nummerierte Form) ersetzt werden.
Auf der Webseite wird es wie folgt angezeigt:
Vorteil: - Die Darstellung im Browser immer korrekt ist.
Nachteile: - Spam-Bots können auch diese Anpassungen ganz einfach durchführen.
- Zusätzlich werden sie durch die „mailto“-Angabe darauf hingewiesen, dass nun eine E-Mail-Adresse folgt.
6. Hex-/URL-Kodierung der Mail-Adresse
Durch diese Verschleierung wir die ursprüngliche E-Mail-Adresse nicht mehr lesbar. Um eine E-Mail so zu verschleiern, können Sie Online-Tools verwenden. Hier wird auch der Nachteil direkt sichtbar. Es gibt nicht nur Tools zum Verschleiern, sondern auch um solche Texte zu entschlüsseln.
Code (HEX-Codierung):
<a href="mailto:test@dmsolutions.de"> E-Mail 1 </a>
Code (URL-Codierung):
<a href="mailto:%74%65%73%74%40%64%6D%73%6F%6C%75%74%69%6F%6E%73%2E%64%65"> E-Mail 2 </a>
Vorteile: - Keine direkte Offenbarung der E-Mail-Adresse
- Beim Hex-Encoding wird auch "mailto" verschleiert
Nachteile: - Präsenz der Mail-Adresse wird beim URL-Encoding durch "mailto" verraten
- Modernere Spam-Bots erkennen die E-Mail trotz Hex-Encoding
7. Einfügen von HTML-Kommentaren
Eine Verschleierung des Quellcodes anstelle der E-Mail hilft hier bei Spam-Bots, welche ausschließlich den Quellcode lesen.
Code:
Schicken Sie uns eine Mail an die beispiel<!--@ @-->@< !--@dmsolutions-->dmsolutions<!--.xyz-->.de
Vorteil: - Schwere Lesbarkeit im Code selbst aber normale Darstellung im Browser
Nachteile: - Kommentare können von den Spam-Bots ausgeblendet werden
- "mailto" würde auch hierbei ausgelesen werden
8. Hinzufügen von Platzhaltern
Beim Hinzufügen von Platzhaltern können Spam-Bots nur schwer Muster erkennen. Für den Benutzer heißt das dann aber auch, dass er diese erkennen und die Platzhalter entfernen muss.
Vorteil: - Spam-Bots können individuelle Platzhalter nicht unterscheiden und versenden die E-Mail an die falsche Adresse
Nachteil: - Nutzer müssen die Platzhalter manuell entfernen und darauf hingewiesen werden
9. Ausblenden von Zeichen mithilfe von CSS
Hierbei werden wie bei der vorherigen Methode zusätzliche Zeichen in die E-Mail eingefügt und Spam-Mails an eine falschen Adresse zu schicken.
Code:
Schicken Sie uns eine E-Mail an die beispiel<span style="display: none;">WIRD-ENTFERNT</span>@dmsolutions.de
Nachteil: - Nutzer muss die E-Mail selbst kopieren
10. Einfügen per JavaScript
Durch das dynamische Einfügen per JavaScript, muss der JavaScript-Code erst auf dem Client ausgeführt werden. Da Spam-Bots jedoch meist nur den Quellcode lesen und diesen nicht ausführen, erkennen sie die Adresse nicht.
Code:
<script>
document.write('<a href="' + 'ma' + 'ilt' + 'o:beispiel@' + 'dm' + 'solutions.d' + 'e">Melden Sie sich bei uns!</a>');
</script>
Vorteil: - Adresse wird nicht offenbart, wenn kein JavaScript-Code ausgeführt wird
Nachteil: - Nutzer muss zwingend JavaScript aktiviert haben (dies ist der heutige Standard)
11. E-Mail-Adresse hinter CAPTCHAs verstecken
Man hat die Möglichkeit durch CAPTCHAs die E-Mail-Adresse zu schützen, indem diese die E-Mail Adresse verschleiert und erst anzeigt, nachdem geprüft wurde, ob es sich um einen menschlichen Benutzer handelt.
Beispiel:E-Mail!
Bitte haben Sie Verständnis dafür, dass wir prüfen, ob Sie ein Spam-Bot oder ein Mensch sind.
Code:
<a href="/Ihr Captcha Link" onclick="window.open('/Ihr Captcha Link', ', 'toolbar=0, scrollbars=0, location=0, statusbar=0, menubar=0, resizable=0, width=500, height=300'); return false;" title="Diese E-Mail-Adresse Anzeigen">E-Mail</a>!<br>
Bitte haben Sie Verständnis dafür, dass wir prüfen, ob Sie ein Spam-Bot oder ein Mensch sind.
Vorteile: - E-Mail wird nicht angezeigt und somit auch nicht von Spam-Bots eingesammelt
- CAPTCHAs vielseitig gestaltbar, sodass man die Möglichkeit hat, es in das eigene Design zu integrieren
Nachteile: - Solche Prüfungen können Besucher verärgern
- Keine Barrierefreiheit gegeben
12. Verschleierung durch zusätzliche HTML-Elemente
In dieser Methode werden dem Harvester nur einzelne Stücke der richtigen E-Mail Adresse geliefert. Durch das Einfügen weiterer, unnötiger Elemente scheint es wiederum im Quelltext in keinem Zusammenhang zu stehen. Die unnötig eingefügten Elemente können dann durch CSS-Angaben wieder entfernt werden und man erkennt die lesbare E-Mail-Adresse.
Code:
<style>
span.d0 {display:none;}
</style>
<p>Ihr Text an uns:<br>
<span class="d1">beispiel</span><br>
<span class="d0">Content13</span><br>
<span class="d0">Paragraph13</span><br>
<span class="d0">$</span><br>
<span class="d0">%</span><br>
<span class="d1">@</span><br>
<span class="d0">solutionsdm</span><br>
<span class="d1">dmsolutions</span><br>
<span class="d0">dmsolution</span><br>
<span class="d0">;</span><br>
<span class="d1">.</span><br>
<span class="d0">:</span><br>
<span class="d1">de</span><br>
<span class="d0">ed</span><br>
<span class="d0">de</span></p>
So lesen das Bots:
beispielContent13Paragraph13$%@solutionsdmdmsolutiondmsolutions;.:deedde
Vorteil: - Spam-Bots sind nicht fähig die E-Mail-Adresse zu lesen, da die Adresse mit Elementen überfüllt sind und mit dem Quellcode zerstückelt angezeigt wird.
Nachteile: - Benutzer müssen die E-Mail-Adresse manuell kopieren und im E-Mail-Programm einfügen
- Auch hier ist die Barrierefreiheit nicht gegeben, da ein Screen Reader alle im Quelltext bestehenden Inhalte vorliest
13. Verschleierung durch verzögertes Laden
Hier wird die E-Mail Adresse unvollständig geladen ehe es nur Teile im Quellcode der Seite vorhanden sind.
Nun kann durch CSS-Angaben durch das Anhängen von Content die E-Mail Adresse erst bei der Darstellung im Browser vollständig angezeigt werden.
Vorteile: - Die E-Mail-Adresse wird nicht vollständig mit dem Quellcode geladen und somit wiederum für Spam-Bots und E-Mail Harvester nicht lesbar ist.
- Spam-Schutz realisierbar, da Harvester die falschen E-Mail Adressen einsammeln. Landet nun eine Mail in diesem Postfach, so kann der Versender der Mail schließlich auf die Blacklist gesetzt werden.
Nachteil: - Der durch CSS hinzugefügte Text ist zwar von Menschen lesbar, jedoch nicht auswählbar
14. Verschleierung durch CSS (Zeichenfolge)
Wieder mal kann man durch CSS-Styling die E-Mail-Adresse verschleiern. Mit dieser Methode, gibt es jedoch keine zusätzlichen Elemente. Die E-Mail-Adresse wird hierbei verkehrt aufgeschrieben und per CSS-Styling invertiert.
Code: <style>
span.invert {unicode-bidi: bidi-override; direction: rtl;}
</style>
<p>Schreiben Sie uns eine E-Mail an: <span class="invert">ed.snoitulosmd@leipsieb</span> Vorteil: - E-Mail-Adresse wird im Quelltext verschleiert, jedoch normal im Browser angezeigt.
Nachteil: - Harvester erkennen trotzdem das Muster der Adresse wieder und können sie umwandeln.
15. Verschlüsselung per ROT-Verfahren
Die verschlüsselte als Parameter im JavaScript-Funktionsaufruf hinterlegte Adresse, kann, wenn sie durch den Spam-Bot aufgespürt wird, noch auf eine Blacklist verbannt werden.
Beispiel:Hinterlassen Sie uns doch eine
Nachricht!
Code:<script>
function encryptRot13(str){
let mapArray = [];
let elements = "abcdefghijklmnopqrstuvwxyz";
let output = "";
for(let i = 0; i < elements.length; i++){
let x = elements.charAt(i);
let y = elements.charAt((i + 13) % 26);
mapArray[x] = y;
mapArray[x.toUpperCase()] = y.toUpperCase();
}
for(let i = 0; i < str.length; i++){
let c = str.charAt(i);
output += (c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z' ? mapArray[c] : c);
}
return output;
}
function decryptRot13(str){
str = "mailto:" + encryptRot13(str);
document.location.href = str;
}
</script>
<p>Hinterlassen Sie uns doch eine <a href="JavaScript: decryptRot13('Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!');">Nachricht</a>!</p> Vorteil: - Die falsche Angabe der E-Mail Adresse ermöglicht es, gegen Spam vorzugehen, indem diese als Honeypot verwendet wird, womit Spam-Bots schließlich auf einer Blacklist landen können.
Nachteil: - Das ROT16-Verfahren ist nicht kompliziert, somit läuft die Gefahr aus, dass die Spam-Bots das Schema erkennen und umgehen. Deshalb ist es empfehlenswert, ein komplexeres Verschlüsselungsverfahren zu wählen.
- Eine Verschlüsselung setzt JavaScript voraus.
16. Kontaktformulare
Spam-Bots können über CAPTCHAs erfolgreich am Versand des Formulars gehindert werden.
Beispiel:
Code:
<form action="FORMULARFEEDBACK.php">
<label>Ihr Name</label>
<input name="name" placeholder="Bitte geben Sie hier Ihren Namen ein">
<label>Ihre E-Mail-Adresse</label>
<input name="email" type="email" placeholder="Bitte geben Sie hier Ihre E-Mail-Adresse ein">
<label>Ihre Nachricht</label>
<textarea name="message" placeholder="Bitte hinterlassen Sie uns hier Ihr Feedback"></textarea>
<input id="submit" name="submit" type="submit" value="Absenden">
</form>
Vorteil: - Durch diese Methode kann Spam erfolgreich abgewehrt werden, vorausgesetzt, dass das Formular über z.B. ein CAPTCHA vor automatischem Versand geschützt wird.
Nachteil: - Es ist nicht komplett barrierefrei
Wie Sie sehen, gibt es viele Möglichkeiten, die eigene E-Mail Adresse zu schützen. Bei Bedarf unterstüzen wir Sie gerne bei der Umsetzung. Nehmen Sie hier einfach Kontakt mit uns auf, wir freuen uns auf Ihre Anfrage.