E-Mail-Adressen Spam-geschützt verlinken

Werbung

von Adrian Nussbaum

Zum Schutz vor Spam-Robots wird heute vermehrt darauf verzichtet, E-Mail-Adressen im Klartext zu publizieren. Was rein visuell brauchbar zu lösen ist, stellt spätestens dann ein Problem dar, wenn E-Mail-Adressen sinnvoll verlinkt werden sollten.

Werden Adressen im Stil von «name(at)domain.com» angegeben und auch so verlinkt, muss der Benutzer unweigerlich dazu aufgefordert werden, die Kombination «(at)» durch ein @ zu ersetzen. Dieser Umstand ist einerseits mühsam und kann andererseits zu Problemen oder Unverständnis – vor allem bei eher unerfahrenen Benutzern – führen.

Die Lösung dieses Problems liegt einmal mehr im Einsatz einer serverseitigen Programmier-Sprache. Zum Beispiel dem populären und und freien PHP.

Und so geht’s
Als Text, der dem Besucher angezeigt wird, wird das @ weiterhin durch z.B. «(at)» (oder auch durch ein Bild) ersetzt, im Link wird es aber durch eine andere, möglichst sinnlos erscheinende Zeichenfolge ersetzt. Und dieser Link verweist schließlich zu unserem PHP-Script.

Beispiel:

 <a href="mailit.php?mail=
name//bei//domain.com">
name(at)domain.com</a>
    

Die Datei «mailit.php», die nun aufgerufen wird, gibt dann erst einmal ein Formular ähnlich einem E-Mail-Fenster aus. Dort sollen wie üblich vom Benutzer die Felder für die Absender-Adresse, den Betreff und natürlich die Nachricht ausgefüllt werden Nach dem Klick auf «Senden»  werden die Daten an die selbe Datei verschickt (allenfalls kann auch eine zweite dafür verwendet werden), damit diese die Nachricht als E-Mail versenden kann.

Erst jetzt, kurz vor dem Versenden, wird die aus dem Link übermittelte und zwischenzeitlich in einem Hidden-Field zwischengespeicherte E-Mail-Adresse quasi decodiert: Die im Beispiel verwendete Kombination «//bei//» wird durch ein @ ersetzt.

      $mail
= str_replace('//bei//','@',$mail);
    

So steht dem Versand mit korrekter E-Mail Adresse nichts mehr im Wege. Und diese kann von Spam-Robots nicht mehr erschnüffelt werden können. Sofern die Adresse, wie sie dem Benutzer angezeigt wird, gut genug verschlüsselt wurde, dürfte es sich hier um eine brauchbare Lösung handeln.

Abwandlungs-Möglichkeiten:

Kommt nur eine kleinere Anzahl Empfänger in Frage, können deren
E-Mail-Adressen auch durch Code-Namen «chiffriert» werden.
Link-Beispiel:

      <a
href="mailit.php?hans">
name(at)domain.com</a>
    

Script-Beispiel:

      if(isset($hans)){$email="name@domain.com";} 

Die Teile vor und nach dem @ könnten auch als zwei einzelne Variablen
übermittelt und gleich vor dem Versand mit PHP wieder zu einer E-Mail Adresse zusammengesetzt werden. Im E-Mail-Fenster des Formulars schließlich könnte man zusätzlich ein DropDown-Menü mit weiteren oder allen möglichen Empfänger-Adressen einbauen.

Weitere Beiträge:

Über Gastautor

DrWeb.de ist die "Grande Dame" des deutschen Bloggings und seit nunmehr 14 Jahren im Internet aktiv. Das beliebte Magazin richtet sich dabei an Webworker, Selbstständige, IT-Entscheider, Seitenbetreiber sowie Marketing-Verantwortliche und bietet einen Überblick im undurchdringlichen Dschungel zahlreicher "Geld verdienen im Internet" Konzepte. Werden Sie jetzt Gastautor und profitieren Sie von der großen Reichweite und den Markennamen DrWeb.de.

, ,

Noch keine Kommentare vorhanden!

Hinterlasse eine Antwort

Bitte bei weiteren Kommentaren per Email benarichtigen! Auch möglich: Abo ohne Kommentar.

Spam protection by WP Captcha-Free