Anti-Spam mit einem Honeypot in Contact Form 7 einrichten

Hattest du auch schon einmal das Problem, dass du zu viele Spam-Anfragen ĂŒber dein WordPress Contact Form 7 Formular erhalten hast?

Mit diesem Problem bist du nicht alleine. Viele WordPress-Benutzer, die Contact Form 7 verwenden, klagen ĂŒber ein erhöhtes Spam-Aufkommen.

Das liegt aber nicht an Contact Form 7.

Die meisten Kontaktformular-Plugins können nicht zwischen Spam-Bot oder Interessent unterscheiden.

Dagegen hilft eine sehr einfache, aber wirkungsvolle Technik: Der Honeypot.

Was ist ein Honeypot?

Was ist ein Honeypot?

Mit Honig lockt man Bienen an.

Wir wollen natĂŒrlich keine Bienen in die Falle locken, sondern Spammer und Hacker.

Durch den Honeypot geben wir dem Bot etwas, was er möchte. Das können auf einem Server Daten sein, die der Hacker versucht zu ergattern.

Sobald jemand (oder etwas) mit einem Honeypot interagiert, ist es klar, dass es sich um einen Hacker oder Bot handeln muss. Denn reale Interessenten sehen ihn erst gar nicht.

Auf Servern wird hÀufig ein Verzeichnis angelegt, dass z.B. ZugÀnge oder Adressen benannt wird. Sollte sich ein Hacker in dieses Verzeichnis verirren, kann man seine IP-Adresse sperren.

Im Fall eines Kontakt-Formulars sind das Felder, die der Spam-Bot ausfĂŒllen möchte.

Wie funktioniert ein Honeypot in einem Kontakt-Formular?

Die meisten Spam-Bots sind schlicht gestrickt. Sie versuchen die Inhalts-Elemente eines Kontaktformulars mit Linkbaits, Scam oder anderen unnĂŒtzen Informationen zu fĂŒllen.

Ein Bot kann nicht zwischen einem Formular-Feld unterscheiden, dass ausgefĂŒllt werden darf und eines, dass leer bleiben muss. Dieses Verhalten kann man sich bei einem Formular zu nutze machen.

Wenn in deinem Kontakt-Formular ein Feld platziert wird, dass leer bleiben muss, wird es mit einer sehr hohen Wahrscheinlichkeit von einem Bot ausgefĂŒllt. Das Feld kannst du durch JavaScript oder ein PHP-Skript auf Inhalt ĂŒberprĂŒfen. Es kommt darauf an, wie dein Kontakt-Formular aufgebaut ist.

Der Honeypot im Kontakt-Formular kann unsichtbar bleiben, damit Interessenten diesen nicht versehentlich ausfĂŒllen, oder sich davon irritieren lassen.

Wie integriere ich einen Honeypot in Contact Form 7?

FĂŒr Contact Form 7 gibt es ein sehr hilfreiches Plugin, dass mich bisher nie enttĂ€uscht hat.

Das Plugin Contact Form 7 Honeypot beschreibt schon in seinem Namen was es macht. Mit ihm kann ein einfaches Honeypot-Feld in ein Contact Form 7 Formular eingefĂŒgt werden.

Mit dem Shortcode [honeypot honeypot_name] kann das Formular einfach erweitert werden. FĂŒge diesen Shortcode direkt ĂŒber deinen "Absenden"-Button ein und dein Formular ĂŒberprĂŒft automatisch den meisten Spam.

Ich empfehle jedoch den Namen "honeypot" nicht so zu verwenden, wie der Hersteller es Beschreibt. Intelligente Spam-Bots könnten den Honeypot durch den Namen durchschauen.

Verwende dazu lieber generische Wörter. Mein Passwort Generator kann dir dabei helfen. Einfach "Leicht merkbar" und Groß-/Kleinbuchstaben aktivieren.

Google reCaptcha in Contact Form 7

Warum sollte ich nicht einfach das Google reCaptcha von CF7 verwenden?

Durch das Google reCaptcha werden Daten des Benutzers an den Google-Server gesendet. Dazu muss der Benutzer nicht einmal auf der Kontakt-Seite sein.

Wenn deine Webseite DSGVO-Konform sein soll, muss der Benutzer vor dem Einbinden des reCaptchas mit der Übertragung der Daten an Google einverstanden sein. Das beachtet Contact Form 7 leider nicht.

Das bedeutet, dass du das Kontaktformular erst nach dem Klick auf einen "Akzeptieren"-Button ausgeben lassen darfst.

Zudem erscheint in der V3 des reCaptchas in der rechten unteren Ecke deiner Webseite ein Banner, um den Kunden darauf hinzuweisen, dass diese Seite den Google-Code verwendet.

Das ist auf der mobilen Webseite fĂŒr den Besucher störend, da es die Sicht auf den Text behindert.

Wenn du aber dennoch lieber das Google reCaptcha verwenden möchtest, empfehle ich dir eine 2-Klick-Lösung fĂŒr das Kontakt-Formular zu verwenden.

In dem Artikel YouTube 2-Klick-Lösung erklÀre ich, wie du eine 2-Klick-Lösung erstellst. Wenn du ein wenig Know-How in JavaScript und HTML besitzt, kannst du den Code relativ einfach bearbeiten.

Warum verwendet Contact Form 7 keinen Honeypot?

Das ist eine Frage, die ich mir hÀufig stelle.

Statt einem Honeypot wird auf das reCaptcha gesetzt. Das ist nicht nur bei Contact Form 7 so, sondern bei vielen anderen.

Die Version 3 des reCaptchas kommt ohne Benutzer-Eingabe aus. Die Klicks auf die Bildchen fallen weg. Aber dennoch wird ein störendes Element am rechten unteren Rand der Webseite ausgegeben.

Das möchten natĂŒrlich viele nicht. Und die Frage nach DSGVO-KonformitĂ€t hĂ€ngt auch noch in der Schwebe, da ungefragt Daten an den Google-Server gesendet werden.

Wahrscheinlich ist die Frage nach dem Datenschutz außerhalb der EU einfach noch irrelevant. Sehr viele EU-Fremde Anbieter setzen auf Google-Algorithmen und Programme, ohne an europĂ€ische Kunden zu denken.

Gerade deutsche Webseiten-Betreiber mĂŒssen stark darauf achten, dass keine Daten an andere Webseiten und Server gesendet werden.

Durch die Integration eines Honeypots wÀre dieses Problem vom Tisch. Denn eine Daten-Weitergabe an Dritte gibt es nicht.

Honeypot sendet weiter Spam-Mails

Warum sendet mein Kontakt-Formular mit Honeypot weiterhin Spam?

NatĂŒrlich gibt es immer wieder mal FĂ€lle, in denen ein Honeypot nicht funktioniert. HĂ€ufig ist das Einer von 2 FĂ€llen.

Im ersten Fall ist der Spam-Bot sehr intelligent und versteht, dass eines der Felder ein Honeypot ist, wenn eine Kontakt-Anfrage fehlschlÀgt.

Er versucht danach ein Feld nach dem anderen leer zu lassen und testet somit, welches der Felder der Honeypot ist. Aber hier reden wir von einem wirklich intelligenten Bot.

Den zweiten Fall kann man einfach nicht verhindern: Wenn eine Person manuell Spam-Anfragen versendet.

Da die Person, die den Spam eintrĂ€gt den Honeypot ĂŒber seinen Browser ebenfalls nicht sieht, hilft er auch recht wenig. Eine Person die Spam versendet wird von jedem Programm als Real bewertet. Da hilft auch kein reCaptcha.

Man könnte als Webseiten-Betreiber natĂŒrlich auf Links im Text-Körper prĂŒfen, aber dadurch könnte z.B. ein richtiger Interessent keine Frage zu seiner eigenen Webseite stellen.

Da solche Spam-Mails relativ selten vorkommen, empfehle ich diese im Postfach einfach auszusortieren.

Was tun, wenn ich kein WordPress verwende?

FĂŒr andere Content Management Systeme gibt es ebenfalls Extensions oder Plugins, die einen Honeypot in Kontaktformulare einfĂŒgen kann. Bei allen CMS-Systemen gibt es ein Plugin-Verzeichnis, in dem du nach einer geeigneten Erweiterung suchen kannst.

FĂŒr alle die kein CMS verwenden, muss ein Honeypot manuell fĂŒr das Kontakt-Formular programmiert werden. Der Algorithmus lĂ€sst sich einfach mit JavaScript umsetzen.

Ich habe dir bereits eine Vorlage fĂŒr eine Honeypot-ÜberprĂŒfung auf Codepen erstellt. Wahrscheinlich musst du das Feld noch etwas fĂŒr dein eigenes Formular anpassen. Solltest du nicht zurecht kommen, empfehle ich dir erst einmal eine Programmiersprache fĂŒr Webseiten zu lernen.

See the Pen Ein einfacher Honeypot fĂŒr Kontaktformulare by Codepalm (@Codepalm) on CodePen.

 

Hast du selbst schon Erfahrungen mit einem Honeypot in deinem Kontaktformular gemacht? Teile dein Wissen in den Kommentaren.

 

Codepalm
Honeypot in Contact Form 7 integrieren