Wider den Spambots: Maillinks sicherer machen

17. Juli 2022 | CSS-Stylesheet, HTML, Plugins

Nun ja: So richtig sicher vor Spambots auf Harvest-Tour sind Ihre Mailadressen nicht, sobald Sie diese auf einer Website anzeigen. Aber immerhin: Es gibt ein paar Tricks, wie Sie wenigstens etwas mehr Sicherheit erreichen können. Und wir räumen mit Scheinsicherheiten auf: Wir sagen, warum das [at] mittlerweile wirklich bloss noch ein Scherz ist.

Ein E-Mail-Harvester oder Spambot ist ein Programm (Bot), welches das Internet gezielt nach E-Mail-Adressen oder auch Telefonnummern absucht, um an diese unerwünschte Werbung (Spam) zu verschicken. Die Programmierung eines solchen Bots ist wahrlich keine Rocket-Science, zumal E-Mail-Adressen einem einheitlichen Format folgen: Ein hervorragendes Indiz für eine Mailadresse ist natürlich das Zeichen «@», das in jeder Mailadresse vorkommt. Ferner steht der Term «mailto:» zu Beginn jedes Maillinks im Verdacht für direkt folgende Mailadressen.

Vergessen Sie das [at]

Websitebetreiber haben bereits in den 2000er-Jahren begonnen, das @ mit einem [at], einem (at) oder einem -at- zu ersetzen. Solche Mailadressen finden sich noch heute häufig auf Websites – sind unterdessen aber wirklich blanker Unfug. Wenn ich nämlich einem Bot auf einfache Weise das @ als Suchziel mit auf den Weg gebe, warum nicht auch gleich ein [at] oder Varianten davon. Dieser vermeintliche Spamschutz ist also mittlerweilen wirklich von gestern. Auch weil solche Mailadressen wenig taugen. Klicken Sie doch mal auf den Link
benutzer[AT]domain[PUNKT]ch
und betrachten Sie im sich öffnenden Mailfenster die Empfängeradresse. Eine Freude ist das nicht. Vergessen Sie also das [at]. Es ist ein Witz.

Varianten eines besseren Spamschutzes

Vorneweg: 100 % Sicherheit vor Spambots stellen wir nicht in Aussicht. Wir zeigen hier aber einige Varianten, wie Sie den Übeltätern das Leben erschweren können. Einige sind simpler, einige komplizierter. Und alle haben sowohl Vor- wie auch Nachteile.

1. E-Mail per Redirect

Beim Redirect kommt ein kleines Script zum Einsatz, das menschliche Nutzer erst nach einem Klick auf einen Link per Redirect auf den mailto-Verweis weiterleitet. Dieser öffnet das E-Mail-Programm des Nutzers und gibt dort die Adresse aus. Für Spambots, die den Quellcode einer Website scannen, sieht ein solcher Link wie ein Verweis auf eine Datei aus. Ein automatisches Auslesen wird somit unterbunden.

Auf Ihrer Website könnte der HTML-Code so aussehen:

<p>Schreiben Sie uns eine <a href="redirect-mailto.php">E-Mail</a>.</p>

Der Inhalt der Datei redirect-mailto.php ist ein Skript, das auf den eigentlichen mailto-Verweis per Redirect umleitet:

<?php
header("Location: mailto:benutzer@domain.ch"); 
?>

Da das Script erst per Klick auf dem Server verarbeitet wird, haben Spambots, die den Quellcode einer Website auslesen, keine Chance, an die E-Mail-Adresse zu gelangen.

2. Maskierung durch HTML-Entities

Sonderzeichen lassen sich auch mit HTML-Entities darstellen. Ein &copy; wird so zu einem ©, ein &amp; ergibt ein &, ein &period; stellt  einen . dar und ein &commat; ein @.

Mit den beiden letzten Zeichen lässt sich schon ein rudimentärer Spamschutz einrichten. Der folgende HTML-Code …

<p>Schreiben Sie eine E-Mail an <a href="mailto:benutzer&commat;domain&period;ch"> benutzer&commat;domain&period;ch</a></p>

… ergibt etwa
Schreiben Sie eine E-Mail an benutzer@domain.ch

Das ist schon ganz in Ordnung. Es geht aber noch mehr.

3. Maskierung durch Unicode-Encoding

Diese Technik habe ich persönlich einige Jahre lang genutzt und konnte merklich weniger Spam verzeichnen. Weil die Umsetzung sehr Code-intensiv ist , empfehle ich die Verwendung eines Converters, der normalen Text in Unicode-Code umwandelt. Etwa den Text zu Unicode Converter unter diesem Link.

Der Trick ist dabei: Sie wandeln zu versteckende Teile des HTML-Codes (nämlich den Term mailto: und die Mailadresse) in Unicode-Code um. Aus dem folgenden Code ….

<p>Schreiben Sie eine E-Mail an <a href="mailto:benutzer@domain.ch">benutzer@domain.ch</a></p>

… wird also dieser:

<p>Schreiben Sie eine E-Mail an <a href="mailto:benutzer@domain.ch">benutzer@domain.ch</a></p>

Die Ausgabe auf der Website präsentiert sich so:

Schreiben Sie eine E-Mail an benutzer@domain.ch

Der Code ist freilich mörderisch – mit Hilfe eines Konverters aber doch grad mal erstellt.

4. Maskierung mit HTML-Kommentar

Dies ist eine weitere Möglichkeit, Mailadressen zu kaschieren. Die Mailadresse wird mit (im Browser unsichtbaren) HTML-Kommentaren ergänzt:

<p>Schreiben Sie eine E-Mail an <a href="mailto:ben<!-- abc@def -->utzer@domai<!-- abc@def -->n.ch">ben<!-- abc@def -->utzer@domai<!-- abc@def -->n.ch</a></p>

Die Ausgabe:

Schreiben Sie eine E-Mail an benutzer@domain.ch

5. Störung der Mailadresse mittels CSS

Alternativ können beliebige Zeichen auch ohne Kommentarfunktion eingefügt werden, wenn diese per CSS in der Browseransicht ausgeblendet werden. In folgendem Beispiel ist die E-Mail-Adresse durch ein span-Element unterbrochen. Der Inhalt zwischen Start- und End-Tag wird aufgrund der Eigenschaft display mit dem Wert none in der Browserdarstellung nicht berücksichtigt.

<p>Schreiben Sie eine E-Mail an benutzer<span class="spamschutz">Beliebige Zeichenfolge</span>@domain.ch.</p>
Dazu noch ein wenig CSS-Code, welchen Sie unter Design/Customizer/Zusätzliches CSS einfügen:
span.spamschutz {display:none;}

Die Ausgabe ist
benutzer@domain.ch

6. Mailadresse umdrehen

CSS lässt sich nicht nur dazu verwenden, zusätzliche Zeichen im Quellcode auszublenden, möglich ist auch eine Umkehrung der Zeichenfolge. Dies erlaubt Webseitenbetreibern, E-Mail-Adressen im Quellcode in falscher Reihenfolge zu hinterlegen, um Spambots zu täuschen.

Der HTML-Code geht so:

<p>Schreiben Sie eine E-Mail an <span style="unicode-bidi: bidi-override; direction: rtl">hc.niamod@reztuneb</span>.</p>

Sieht dann so aus:

Schreiben Sie eine E-Mail an hc.niamod@reztuneb.

7. Kontaktformular verwenden

Selbstverständlich ist auch ein Kontaktformular (unbedingt geschützt mit Recaptcha) eine Möglichkeit, um Mailadressen vor Spam zu schützen. Die eigentliche Adresse taucht im Code gar nicht erst auf. Da haben es Spambots schwer.

8. Plugin einsetzen

Auch im WordPress-Plugin-Katalog finden sich geeignete Helfer. Sehr gute Erfahrungen habe ich persönlich mit WP Mailto Links gemacht.

 

Alles in allem bleibt jedoch zu sagen: Einen 100-prozentigen Spamschutz bietet keine der Massnahmen. Eine deutliche Verbesserung kann aber durchaus erzielt werden.

 

Werbung

Werbung

 

Kostenlose WordPress- und Divi-Tricks im Abo

Wir schicken Ihnen sporadisch (weniger als 10x jährlich) neue Tricks für Wordpress und das Divi-Theme, aber auch hilfreiche CSS- und HTML-Codes frei Haus.

Füllen Sie zur Anmeldung das folgende Formular aus. Angaben mit * sind Pflichtangaben.









Vielen Dank.

Pin It on Pinterest

Share This