Websupporter

Vor allem über WordPress.

Mit antispambot() gegen Emailharvester

Emailadressen, welche frei verfügbar auf einer Webseite herum fliegen, werden regelmäßig von Bots gefressen, in Spamdatenbanken gepumpt und schon wird die Adresse zugespammt. Dennoch müssen immer wieder Emailadressen zugänglich auf der Webseite sein. Jede⋅r hat irgendwo seine Kontaktemail hinterlegt. Manchmal wird statt der Adresse ein Bild dargestellt oder das @ durch ein [at] ersetzt, um sich gegen die Harvester zur Wehr zu setzen.

Auch WordPress verfügt über eine Gegenmaßnahme und kommt mit einer kleinen, aber äußerst nützlichen Funktion daher: antispambot(). Diese wandelt etliche der Zeichen einer Emailadresse in Hex-Zeichen um, wie in diesem Beispiel zu sehen ist:

Embed from gist.github.com

Click the button below to load the content from gist.github.com.

Welche der Zeichen umgewandelt werden ist dabei einem Zufallsgenerator überlassen und ändert sich (sofern man kein Caching nutzt) jedes Mal. Doch warum diese Umwandlung? Die meisten Email-Harvester-Bots sind relativ „dumm“. Sie prüfen den HTML-Code einer Seite, ob sich irgendwelche Emailadressen dort befinden. Meist geschieht dies über einen einfachen regulären Ausdruck, der nach Email-konformen Strings sucht. Hex-codierte Emailadressen sind erst einmal nicht konform mit dem Email-Format und werden deshalb gerne übersehen. Browser hingegen wandeln diese Emailadressen in normal lesbaren Text um.

Auf der Codex-Seite wird diese Funktion auch gleich für einen Shortcode aufbereitet, den man sich schnell in ein kleines Plugin stecken kann:

Embed from gist.github.com

Click the button below to load the content from gist.github.com.

Gibt man nun [email]max.mustermann@example.com[/email] ein, so wandelt dieser Shortcode die Adresse in einen Email-Link und die Adresse in eine hexformatierte Adresse um.

Und das hilft?

Es wird wohl nicht gegen jeden Adress-Harvester schützen, aber doch gegen die Meisten. So wie auch ein [at] von einigen Bots wohl übersetzt werden kann und Bilder mit OCR-Methoden ausgelesen werden können, so ist es technisch natürlich auch möglich einen Bot zu bauen, der diese Adressen erkennt. Aber neben einem grundsätzlichen Schutz bietet diese Funktion gegenüber anderen Methoden den Vorteil, dass sie im Zusammenhang mit mailto: verwendet werden kann und damit den Besucher⋅innen einer Seite maximalen Komfort bietet.

Möchtest Du also auf Deiner Seite Emailadressen für Besucher⋅innen zugänglich präsentieren, aber vor Bots verbergen lohnt sich ein Blick auf antispambot(). Kanntest Du diese Funktion schon? Setzt Du sie erfolgreich ein oder welche Maßnahmen triffst Du gegen Email-Harvester?

Über den Autoren

Seine erste Webseite hat David Remer 1998 in HTML verfasst. Wenig später war er fasziniert von DHTML und JavaScript. Nach jahrelanger Freelancerei arbeitete er zunächst für Inpsyde und ist heute Entwickler bei Automattic. Außerdem hat er das Buch "WordPress für Entwickler" verfasst.

Kommentare

  1. Schöner Tipp ohne eine zusätzlich zu überwindende Hürde, denn ich verwende dafür ja immer noch Googles Mailhide reCaptcha…sollte ich vielleicht mal überdenken 😉

      1. Für mich als potentiellen Spam-Empfänger natürlich ideal. Für diejenigen die mich kontaktieren möchten mitunter eine (nervige) Hürde und von Barrierefreiheit gar nicht zu reden.

  2. Hallo David, ich hoffe, die antispambot-Funktion bewährt sich weiterhin. Ich hatte sie mir für mein Impressum auch überlegt. Aber dann habe ich die Mailadresse, die als mailto-Link klickbar sein soll, doch lieber mit JavaScript verborgen. Diesen Code habe ich wiederum mittels des Plugins Code Embed in der Seite platziert. Für Besucher, die JavaScript nicht ausführen können oder wollen, steht als Alternative eine Variante der [AT]-Methode dabei. Das Resultat: Nach einigen Monaten Verwendung hat sich noch kein Spam ins Postfach verirrt. Allerdings ist die Website relativ neu …

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.