Design für Print und Web

mailto:-Link mit JavaScript vor bösen Bots verbergen

20.02.2010 um 18:59 Uhr
Emersacker
abgelegt unter Ajax und JS

Emersacker. Ein mailto:-Link ist schon eine praktische Sache. Besonders, wenn der Einsatz eines Kontakt-Formulars nicht möglich ist oder aufgrund hoher Frequenz durch aggressive Spam-Bots vermieden werden sollte. Nachteil der mailto:-Methode: die E-Mail-Adresse fällt den Bots hier zu leicht in die Hände.

mailto:-Link mit JavaScript vor bösen Bots verbergen

Abhilfe bietet die HTML-seitige Verschlüsselung der E-Mail-Adresse, die mittels JavaScript auf der Client-Seite wieder lese- und ausführbar gemacht wird.

So entgeht den Bots - mangels JavaScript-Vermögens - das Sahnestückchen.

Bei deaktiviertem JavaScript bleibt die Adresse für fantasievolle Seitenbesucher dennoch entzifferbar.

Code Listing:

  • Listing 1: mail.js
    1. /* Copyright 2010 Michael Daum webdaum.de */
    2.  
    3. function email_decrypt() {
    4.     if(obj = document.getElementsByName('email')[0]) {    
    5.         obj.innerHTML = obj.innerHTML.replace('[dot]','.');
    6.         obj.innerHTML = obj.innerHTML.replace('[at]','@');
    7.         obj.href = 'mailto:'+obj.innerHTML;
    8.     }
    9. }
    10. window.onload = function() {
    11.     email_decrypt();
    12. }

    mail.js (0,3 KB): Beispiel aufrufen

  • Listing 2: mailto_decrypt.html
    1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    2. <html>
    3. <head>
    4. <title>Rote Karte f&uuml;r b&ouml;se Bots!</title>
    5. </head>
    6. <body>
    7. <a name="email" id="email">meinname[at]gmx[dot]de</a>
    8. <script type="text/javascript" src="mail.js"></script>
    9. </body>
    10. </html>

    mailto_decrypt.html (0,3 KB): Beispiel aufrufen