Direkt zum Inhalt
Bild von CVB      vLIB-Logo      Logo mwCMS
Navigation oben
Impressum    Kontaktformular
Navigation
News
Ubuntu 11.04 Natty Narwhal: Die Benutzer von Ubuntu 10.04 "Lucid Lynx" müssen noch nicht umsteigen, weil es bis April 2013 Aktualisierungen und (Sicherheits)Patches geben wird. Allerdings bringt Ubuntu 11.04 "Natty Narwhal" einige Neuerungen mit sich. So ist zum Beispiel die Navigation über dass Menü oben verschwunden und es wird jetzt viel mit Favoriten und "Am häufigsten benutzt" gearbeitert. Toll ist auch der Verlauf bei ALT+F2. Mehr ...
Kein WEB.DE mehr: Ich verlasse WEB.DE, weil mir die 12MB Speicherbegrenzung und die Beschränkung auf 500 Mails missfallen. GMX bietet 1GB und GMAIL sogar 7GB Speicher an. Ich habe WEB.DE noch lange für SMS genutzt, aber auch hier ist SMS.DE mittlerweile der bessere Provider. Mehr ...
StarCraft II - YABOT: Die SC2-Karte YABOT wurde dazu gemacht, verschiedene BOs (BO = Build Order) aller drei Rassen in StarCraft2 zu testen. Das YABOT-Projekt hat eine Reihe von Standard-Blizzard-Karten genommen und sie so angepasst, dass man ein sehr ausgefeiltes Testsystem für BOs hat. So wird, neben vielen anderen Features, die Zeit festgehalten, wann ein bestimmtes Gebäude gebaut wurde. Man kann einen (Zeit)Rekord für seine Lieblings-BO aufstellen und diesen - durch konstantes Üben - natürlich auch brechen. Mehr ...

Mail-Adressen auf der eigenen Webseite schützen

  • Kommentieren
  • Drucken
MailNull.com (Logo)

Das Content Management System Typo3 verschlüsselt jede Mail-Adresse mit JavaScript, wenn Typo3 richtig konfiguriert ist. Wenn eine Mail-Adresse im Klartext auf der Homepage steht, "[email protected]" beispielsweise, ist Spam nur eine Frage der Zeit. Mit den Jahren wird eine solche Mail-Adresse unbenutzbar, da sie nur noch zugespamt wird. In meinem Artikel Greylisting und "mailnull.com" habe ich erläutert, wie man Greylisting und "Wegwerf-Adressen" von mailnull.com kombinieren kann.

Der hier dargestellte Source-Code ist auf vielen Typo3-Webseiten zu finden, aber über den Autor konnte ich trotz vieler und aufwändiger Google-Recherchen nicht ermitteln. Unter Typo3 wird die Verschlüsselung mit "config.spamProtectEmailAddresses" im TypoScript aktiviert. Da Typo3 der GPL unterliegt, sollte meine erstellte Dokumentation im Quelltext und der Download der beiden Funktionen (plus Beispiele) kein Problem sein.

JavaScript Code

Der folgende JavaScript-Code muss auf jeder Webseite verfügbar sein, wenn dort Mail-Adressen verschlüsselt werden sollen. Es empfiehlt sich eine externe Datei zu verwenden bzw. das JavaScript der gesamten Webseite auszulagern.

// Decrypts a mail adress with JavaScript, which was encrypted with PHP
function decrypt_mail(mail_address)
{

   var ascii = 0;
   var decrypted_mail = '';

   for (var i = 0; i < mail_address.length; i++)
   {
      
ascii = mail_address.charCodeAt(i);

      if (
ascii >= 8364)
      {
         
ascii = 128;
      }

      
decrypted_mail += String.fromCharCode(ascii - 1);
   }

   
location.href = decrypted_mail;
}

PHP Code

Der Aufruf der PHP-Funktion benötigt als Parameter eine Mail-Adresse und TRUE oder FALSE. Die Funktion und die Parameter sind genau dokumentiert.

/**
* Encrypts a mail adress with PHP.
*
* @param   string    $mail_address: [email protected]
* @param   boolean   $encrypt: TRUE or FALSE
* @return  string    $obscure_mail or $encrypted_mail: see below
**/
function encrypt_mail($mail_address, $encrypt)
{
    
/**
     * Do not encrypt, but make it harder to read for spam robots, e.g.
     * "[email protected]" => "your_name [at] domain [dot] tld"
    **/
    
if ($encrypt === FALSE)
    {
        
$obscure_mail = str_replace('@', ' &#091;&#097;&#116;&#093; ', $mail_address);
        
$obscure_mail = str_replace('.', ' &#091;&#100;&#111;&#116;&#093; ', $obscure_mail);

        return
$obscure_mail; // "your_name [at] domain [dot] tld"
    
}

    
$encrypted_mail = '';
    
$mail_address = 'mailto:' . $mail_address;

    for (
$i = 0; $i < strlen($mail_address); $i++)
    {
        
$ascii = ord($mail_address[$i]);

        if (
$ascii >= 8364)
        {
            
$ascii = 128;
        }

        
$encrypted_mail .= chr($ascii + 1);
    }

    return
$encrypted_mail; // "nbjmup;zpvs`obnfAepnbjo/ume"
}

Beispiele

Beide Skripte werden auf vielen Webseiten benutzt. Um das Verständnis für die Funktionsweise zu erhöhen hier ein paar Beispiele:

Wenn man einen Blick auf den Quellcode der Webseite wirft, wird man eine Zeile wie diese finden:

<a href="javascript:decrypt_mail('nbjmup;zpvs`obnfAepnbjo/ume');">your_name &#091;&#097;&#116;&#093; domain &#091;&#100;&#111;&#116;&#093; tld</a>

Ich habe die Hyperlinks mit "w3m" und "lynx". JavaScript funktioniert nicht, aber "$obscure_mail" wird richtig angezeigt.

[ erstellt am Donnerstag, 31. Januar 2008 um 12:26:19 ]

Diese Seite erfüllt die folgenden Standards:

Valid XHTML   Valid CSS