Mailverschleierung

Aktualisiert: 17.02.2020

Eine E-Mail-Adresse sollte heutzutage nicht mehr ohne irgendeine Art Verschleierung in eine Internetseite eingebaut werden. Grund dafür sind die vielen automatisierten Suchroboter, welche das Internet nach E-Mail-Adressen für Spam- und Werbezwecke abgrasen. Heutzutage werden E-Mail-Adressen oftmals mittels JavaScript verschleiert. In vielen Fällen ist die Kontaktaufnahme auch nur noch über ein Formular mit Captcha möglich.

Der vorliegende Lösungsansatz zur Veschleierung einer E-Mail-Adresse nutzt die Techniken zweier veschiedener Sprachen: Mit dem PHP-Befehl „ord“ wird der HTML-Link „mailto:“ in ASCII umgewandelt und anschliessend der angezeigte Name mit der CSS-Anweisung „direction:rtl“ im Code umgedreht und mit der CSS-Anweisung „unicode-bidi:bidi-override“ in der Ansicht wieder zurückgedreht. Für die Formatierung wird der in HTML5 eingeführte Tag „bdi“ für einen speziell formatierten Textbereich benutzt.

Zu beachten gilt hier, dass sich alle PHP-Befehle zur Manipulation von Text mit Unicode äusserst schwer tun. Bei der Mailto-Anweisung mag das noch kein Problem sein, da für Mailadressen sowieso nur Zeichen aus dem ASCII-Bereich erlaubt sind. Die Text-Anzeige kann aber alle möglichen Zeichen beihalten, daher müssen hier die vier Bytes eines Zeichens Unicode-sicher umgewandelt werden. Dies ist im Augenblick nur mit dem Befehl preg_match_all() und der speziellen Option /u möglich.

Generator