Mit antispambot() gegen Emailharvester
2017
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:
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:
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?
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 😉
Hi Kevin,
reCaptcha einzusetzen ist natürlich auch eine interessante Variante 🙂
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.
Ich nutze dafür das Plugin „Email Address Encoder“ das funktioniert bisher auch ganz gut und ohne short code.
Hi Roland,
das ist auch ein interessantes Plugin (https://de.wordpress.org/plugins/email-address-encoder/). Wenn ich es richtig sehe geht es durch alle Texte, welche durch den Filter
the_content
,the_excerpt
,widget_text
,comment_text
undcomment_excerpt
ausgeliefert werden durch, sucht nach Email-Strings und ersetzt diese ganz ähnlich wie auchantispambot()
nach einem Zufallsgenerator durch (hexa)dezimale Zeichen.Danke für den Tipp 🙂
Danke für diesen Tipp! Das Spamen nervt gewaltig…
In der Tat.
Interessanter Tipp, das dürfte auch keine Probleme mit der Accessibility machen, oder doch?!
Nein, das sollte gut laufen.
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 …