Skip to main contentSkip to footer
Anleitungen zu Plugins

WordPress-Formular-Honeypot: Spam-Bots ohne Captcha stoppen

Aktualisiert Patrick Schlesinger
ReportedIP Hive form honeypot guide cover showing a +6 score for a filled honeypot, a spam threshold of 4, and a four-way execution-proof verdict

Ein Formular-Honeypot fängt Spam-Bots in WordPress mit einem Feld, das Menschen nie sehen und Bots immer ausfüllen, und ReportedIP Hive kombiniert ihn mit einem Nachweis, dass das Formular wirklich in einem Browser angezeigt wurde. Diese Anleitung erklärt beide Schichten, was mit einer abgewiesenen Eingabe passiert und welche Formulare in welchem Tarif geschützt sind, ganz ohne Captcha.

Was ist ein Formular-Honeypot?

Ein Honeypot ist ein zusätzliches Formularfeld, das vor Menschen verborgen ist. Es liegt außerhalb des sichtbaren Bereichs, wird von der Tastatur übersprungen, vom automatischen Ausfüllen ignoriert und vor Screenreadern versteckt. Ein Mensch berührt es nie. Ein Spam-Bot, der jedes gefundene Feld ausfüllt, füllt auch dieses, und das reicht, um zu wissen, dass die Eingabe nicht von einem Menschen kam.

Der Vorteil gegenüber einem Captcha: Niemand muss etwas lösen. Es gibt kein verzerrtes Bild, kein Ampel-Puzzle und kein Skript eines Drittanbieters, das Besucher verfolgt. Die Grenze ist ebenso klar: Ein Bot, der für eine bestimmte Website geschrieben wurde, kann lernen, das Feld leer zu lassen. Deshalb verlässt sich Hive nicht auf den Honeypot allein.

Warum ein Honeypot allein nicht reicht

Viele Spam-Skripte laden das Formular gar nicht. Sie schicken ihre Daten direkt an die Adresse, die Kommentare oder Registrierungen verarbeitet, etwa wp-comments-post.php. So ein Skript sieht den Honeypot nie, kann ihn also nicht ausfüllen, und kommt an einer Prüfung vorbei, die nur nach einem gefüllten Feld sucht.

Hive ergänzt deshalb den Formular-Ausführungsnachweis. Der Server setzt ein verstecktes Ankerfeld ins Formular, und ein kleines Skript im Browser fügt ein zweites Feld hinzu, dessen Name auf jeder Installation anders ist. Ein Skript, das direkt an die Adresse sendet, hat diesen Code nie ausgeführt, das zweite Feld fehlt also. Die Seite bleibt für jeden Besucher gleich, Seiten-Caches funktionieren also weiter.

Die vier Urteile bei jeder Eingabe

Aus den beiden Feldern bildet Hive eines von vier Urteilen:

UrteilWas ankamWas es bedeutet
NachgewiesenHoneypot leer, Nachweis vorhandenEin Browser hat das Formular angezeigt, ein Mensch hat es abgeschickt.
AusgelöstHoneypot ausgefülltEin Bot hat jedes gefundene Feld ausgefüllt.
FehlgeschlagenAnkerfeld vorhanden, Nachweis fehltDie Seite wurde geladen, aber das Browser-Skript lief nie.
FehlendGar keine FelderDas Formular hatte keine Schutzfelder, etwa aus einer alten Seite im Cache oder einem Theme mit eigenem Kommentar-Markup.

„Fehlend“ wird nachsichtig behandelt, weil es harmlose Ursachen hat. Ein Theme, das sein Kommentarformular ohne die üblichen WordPress-Hooks selbst schreibt, wird nie wie ein Bot behandelt.

Was mit einer abgewiesenen Eingabe passiert

  • Honeypot ausgefüllt: Die Eingabe wird mit „Ihre Eingabe wurde nicht angenommen. Bitte laden Sie die Seite neu und versuchen Sie es erneut.“ abgewiesen. Hive protokolliert sie, rechnet sie sofort auf die stufenweise Sperrleiter an und meldet die Adresse im Modus Community Network an die Community. Adressen auf der Whitelist und Benutzer, die Beiträge bearbeiten dürfen, sind ausgenommen.
  • Nachweis fehlt bei einem Kommentar: Der Kommentar wird mit „Dieses Formular braucht JavaScript. Bitte einschalten und noch einmal versuchen.“ abgewiesen. Die Adresse wird protokolliert, aber nie gezählt oder gesperrt, denn ein Leser ohne JavaScript ist kein Angreifer.
  • Nachweis fehlt bei Registrierung oder Passwort-Reset: Das Formular weist ab und nennt den Grund. Die Meldung beim Passwort-Reset verweist zusätzlich auf einen anderen Administrator oder WP-CLI, für den Fall, dass jemand schon ausgesperrt ist.
  • Alles andere: Kommentare durchlaufen zusätzlich den Kommentar-Spamfilter, der auf Links, Namen und andere Spam-Merkmale achtet. Was mit einem so markierten Kommentar passiert, legen Sie mit Aktion bei einem als Spam bewerteten Kommentar fest: als Spam markieren (Voreinstellung), sperren oder aus.

Jede Abweisung erscheint im Ereignisprotokoll unter ReportedIP Hive > Aktivität, dort heißt der ausgelöste Honeypot „Kommentar-Köder“. So sehen Sie jederzeit, welche Adresse gestoppt wurde und warum.

Ereignisprotokoll von ReportedIP Hive mit einem Kommentar-Köder-Ereignis und einem Formular-Spam-Ereignis für dieselbe Adresse im Kommentarformular
Ein Bot, der den Honeypot im Kommentarformular ausgefüllt hat, so wie er im Ereignisprotokoll erscheint.

Welche Formulare in welchem Tarif geschützt sind

FormulareTarif
Kommentarformular, Registrierung in WordPress und WooCommerce, Passwort-ResetJeder Tarif, auch Free
Contact Form 7Jeder Tarif, auch Free
Rechenprüfung zusätzlich zum NachweisAb Professional
Gravity Forms, WPForms, Forminator, Formidable Forms, Elementor Forms, Ultimate MemberAb Business

Die Rechenprüfung schließt eine Lücke, die der einfache Nachweis offen lässt: ein Skript, das den Feldnamen aus der Seite liest und zurückschickt. Mit ihr muss der Browser vor dem Absenden eine kleine signierte Aufgabe Ihrer eigenen Website lösen, und jede Aufgabe wird nur einmal angenommen. Die Details zu den einzelnen Formular-Plugins stehen in den Anleitungen zu Gravity Forms sowie zu WPForms und Forminator.

So schalten Sie den Schutz ein

Öffnen Sie ReportedIP Hive > Schutz und die Karte Formularschutz. Auf einer neuen Installation sind Kommentar-Honeypot, Formular-Ausführungsnachweis und der Schalter für Contact Form 7 bereits an. Das Honeypot-Feld erscheint nur im Formular, solange der Formular-Ausführungsnachweis an ist, lassen Sie also beide zusammen eingeschaltet.

Karte Formularschutz in ReportedIP Hive mit eingeschaltetem Kommentar-Honeypot, Formular-Ausführungsnachweis und Contact Form 7 sowie den Schaltern für weitere Formular-Plugins mit Business-Hinweis
Die Karte Formularschutz auf einer Website im Tarif Professional: Die Kernschichten sind an, die Schalter der Formular-Plugins zeigen den nötigen Tarif.

Mit eingeschaltetem Expertenmodus zeigt die Karte zusätzlich Nachweis auch bei Registrierung und Passwort-Zurücksetzung verlangen, Rechenprüfung auf Formularen und Aktion bei einem als Spam bewerteten Kommentar. Wollen Sie erst beobachten und dann abweisen, schalten Sie in der Karte Sperren & Eskalation den Nur-Melden-Modus ein: Hive protokolliert dann jede Abweisung und weist nichts ab. Zum Testen führt Werkzeuge > Diagnose (im Expertenmodus sichtbar) drei Durchläufe mit Ihrem eigenen Browser aus, wie ein Besucher, wie derselbe Besucher zweimal und wie ein Bot, ohne ein echtes Formular abzuschicken.

Barrierefreiheit, Caching und Datenschutz

Der Honeypot ist so gebaut, dass kein Mensch darüber stolpert. Er trägt aria-hidden="true", was ihn nach WAI-ARIA vor Screenreadern verbirgt, ist aus der Tastaturreihenfolge genommen und vom automatischen Ausfüllen ausgeschlossen, und sein verstecktes Label lautet „Dieses Feld leer lassen“.

Nichts Anfragespezifisches landet im HTML, Ganzseiten-Caches wie WP Rocket, LiteSpeed oder ein CDN liefern also weiter dieselbe Seite aus. Das Skript misst außerdem, wie lange das Formular auf dem Bildschirm war, und sendet die Sekunden mit; dieser Wert wird bei einer Abweisung protokolliert. Es gibt keine Cookies, kein Fingerprinting und keine Anfrage an Dritte. Im Modus Local Shield verlässt nichts Ihre Website. Im Modus Community Network wird die Adresse eines Bots, der den Honeypot ausgefüllt hat, an reportedip.com gemeldet, und mit eingeschalteter Community-Bedrohungsprüfung bei Formularen wird die Besucheradresse dort geprüft, bevor ein Kommentar, eine Registrierung oder ein Passwort-Reset angenommen wird. Die Anleitung zum Datenschutz behandelt beide Modi im Detail.

Fragen zum WordPress-Formular-Honeypot

Kann der Honeypot einen echten Besucher sperren?

Ein echter Besucher sieht den Honeypot nie, ein Mensch kann ihn also nicht versehentlich ausfüllen. Bemerken können etwas nur Leser mit ausgeschaltetem JavaScript: Ihr Kommentar wird mit dem klaren Hinweis abgewiesen, es einzuschalten. Ihre Adresse wird nie auf eine Sperre angerechnet, weil fehlendes JavaScript allein nicht als Angriff gilt.

Brauche ich mit dem Hive-Honeypot noch ein Captcha?

Die meisten Websites brauchen kein Captcha mehr. Der Honeypot fängt Bots, die jedes Feld ausfüllen, der Ausführungsnachweis fängt Skripte, die direkt an die Formularadresse senden, und die Rechenprüfung ab Professional stoppt auch Skripte, die die Feldnamen kopieren. Ein Captcha lohnt sich nur noch für Formulare, die von Menschen in Handarbeit angegriffen werden.

Funktioniert der Honeypot mit Seiten-Caching?

Der Honeypot funktioniert mit Seiten-Caching, weil das Formular-Markup für jeden Besucher gleich ist. Das Nachweisfeld fügt ein Skript im Browser hinzu, nicht der Server, eine Seite im Cache bleibt also gültig. Nach einem Plugin-Update oder beim Einschalten eines Formular-Plugins gibt Hive gecachten Seiten eine Schonfrist, damit niemand an einer alten Kopie scheitert.

Weiterlesen

Die Hive-Dokumentation beschreibt die Bot-Erkennung und Kommentar-Spam sowie Caching und Kompatibilität im Detail. Alle weiteren Funktionen erklären die Anleitungen zu ReportedIP Hive.

ReportedIP Hive für WordPress holen

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Fill out this field
Fill out this field
Bitte geben Sie eine gültige E-Mail-Adresse ein.
You need to agree with the terms to proceed