WordPress-Kontaktformular von Contact Form 7 mit Honeypot absichern

Das beliebte WordPress-Plugin „Contact Form 7“ ist häufig das Ziel von Spam-Bots. Die nervigen Bots führen dazu, dass das eigene Postfach mit Spam überflutet wird. Eine Möglichkeit, die Spam-Flut datenschutzkonform einzudämmen, sind sogenannte Honeypots.

Honeypots sind für den Website-Besucher versteckte Formularfelder, welche Bots ausfüllen. Denn die Bots können nicht „sehen“, dass das Feld für den Besucher nicht ersichtlich ist. Falls das Feld ausgefüllt ist, weiß Contact Form 7, dass es sich um eine Anfrage durch einen Bot handelt. Der Benutzer kann das Feld schließlich nicht sehen und deshalb auch nicht ausfüllen.

Wir empfehlen das kostenfreie WordPress-Plugin Honeypot for Contact Form 7. Nach der Installation erscheint in Contact Form 7 im Tab Formular in der Bearbeitungsansicht eines Kontaktformulars das Element Honeypot:

Durch einen Klick auf den Button fügt das Plugin automatisch ein Honeypot-Feld in das Formular ein. Dieses kann etwa so aussehen:

Damit der Honeypot auch funktioniert, sollte das Feld möglichst unauffällig sein und sich in das restliche Formular einfügen. Wenn das Feld beispielsweise als „Honeypot“ betitelt wird, dann ist es für Bots ein Leichtes, die Falle zu erkennen. Im obigen Beispiel nennt sich das Feld deshalb „Telefon“.

Um den Honeypot noch effektiver zu gestalten, aktivieren wir mit timecheck_enabled:true eine weitere Schutzfunktion. Diese prüft, ob das Feld innerhalb des angegebenen timecheck_value:5, also innerhalb von 5 Sekunden, abgesendet wurde. Ein Mensch braucht länger als der Bot, weshalb die Anfrage als Spam erkannt wird.

Wichtig ist auch die Positionierung des Honeypots innerhalb des Formulars: Am besten unter den Benutzerangaben. Wenn man das Feld achtlos am Ende anfügt, dann schöpft der Bot ebenfalls verdacht, da sich nach der Datenschutz-Checkbox üblicherweise kein Eingabefeld mehr befindet.

Eine weitere Strategie, die wir gerne anwenden: Platzieren Sie zwei Honeypots, nicht direkt aufeinanderfolgend, im Formular.