„Schafft mir diesen Bot vom Hals!“: Lösungen, um E-Mail-Harvesting zu stoppen

März 26, 2021

Eine einfache E-Mail in einer Fußzeile für die Kontaktaufnahme. Das ist alles, was ein Bot oder ein Crawler braucht, um Ihre Adresse zu übernehmen und sie auf die schlimmste Weise zu verwenden: für SPAM.

Ich weiß, ich bin manchmal dramatischer, als ich sein sollte, aber das, worauf ich mich hier beziehe, das Sammeln von E-Mail-Adressen, ist und bleibt ein ernstes Thema, wenn es um die Webentwicklung geht. Das Sammeln von E-Mails erfolgt auf verschiedene Weise: durch den Kauf oder den Handel mit Listen von E-Mail-Adressen von anderen Spammern oder durch den Einsatz von Sammelbots. Diese fiesen Bots können darauf trainiert werden, nach jedem Zeichen einer E-Mail-Adresse zu suchen, vom @-Zeichen bis hin zu einem einfachen mailto-Tag. Und genau hier kommt der E-Mail-Schutz ins Spiel. Definitionsgemäß bedeutet dies einfach, sie zu verbergen, zu verschleiern, aber so klingt es viel cooler. Unten haben wir eine Fülle von Möglichkeiten gefunden, genau das zu tun. Beginnen wir mit den rudimentärsten: Sie können Ihre E-Mail-Adresse „verstecken“, indem Sie sie ausschreiben.

In diesem Fall wird
john.doe@example.com
zu
john dot doe at example dot com

Eine andere Lösung ist die Verwendung eines Bildes mit Ihrer E-Mail-Adresse. Aber sowohl diese Lösung als auch die vorherige können für die Benutzer sehr unbequem sein, da sie die Adresse selbst eingeben müssen. Sie sind auch nicht unbedingt effektiv, da Bots in den meisten Fällen in der Lage sind, diese Maßnahmen zu überwinden. Bis vor kurzem war eine sehr beliebte Lösung und Gegenmaßnahme die Verwendung des CAPCHA Mailhide-Dienstes, aber seit 2018 wird Mailhide nicht mehr unterstützt, so dass wir empfehlen, nach anderen E-Mail-Schutzmethoden zu suchen. Eine andere Lösung, die Sie vielleicht nützlich finden, ist die Verwendung eines kurzen Skripts. Joe Maller schlägt in seinem Blog eine sehr schöne und einfache Lösung vor:

<script type="text/javascript"> 
emailE = 'emailserver.com' emailE = ('IhrName' + '@' + emailE) document.write('<A href="mailto:' + emailE + '">' + emailE + '</a>')
 </script>

Süß und kurz, nicht wahr?

Für die glücklichen Benutzer von WordPress gibt es eine sehr elegante Lösung. Das zuverlässige CMS-System verfügt über eine Funktion für genau diese Situation, die passenderweise Antispambot heißt und wie folgt aussieht:

<?php antispambot( $email_address, $hex_encoding ) ?>

Wie im WordPress-Codex vermerkt, wandelt diese Funktion ausgewählte Zeichen von E-Mail-Adressen in HTML-Entitäten um, um Spam-Bots zu blockieren. Die E-Mail-Adressen, die kodiert werden sollen, werden entweder in dezimaler Kodierung, indem Sie den Standardwert 0 verwenden, oder in hexadezimaler Kodierung, indem Sie den Wert 1 wählen, kodiert, je nach Ihrer Präferenz. Wichtig ist dabei, dass nicht alle Zeichen in der E-Mail-Adresse umgewandelt werden. Diese Funktion ist sehr nützlich, da die Auswahl bei jedem Aufruf der Funktion zufällig ist und sich jedes Mal ändert. Eine alternative Möglichkeit, diese Funktion aufzurufen, ist die Verwendung von:

<?php echo esc_html( antispambot( 'john.doe@mysite.com' ) ); ?>

Und auch wenn die Ausgabe in der HTML-Datei ähnlich aussieht:

john.doe@mysite.com

Für jeden anderen Benutzer in einem Webbrowser erscheint sie als normale E-Mail-Adresse:

john.doe@mysite.com  

Wenn Sie sich nicht tief in die Programmierung einarbeiten möchten, können Sie ein Plugin installieren, solange Sie WP verwenden. Bei WordPress mangelt es nie an Plugin-Lösungen für jede Art von Problem, so dass Sie auch hier eine große Auswahl haben. Eines dieser Plugins trägt den treffenden Namen, Obfuscate E-mail. Eine populärere Lösung, die viel mehr Anti-Spam-Optionen bietet, ist Akismet Anti-Spam. Wir empfehlen, beiden eine Chance zu geben.

Haben Sie eine andere Lösung für dieses Problem? Lassen Sie uns reden!