Modul-Vorstellung: OXID6 Honeypot für öffentliche Formulare (u.a. Kontakt, Register ...)

Hallo,

Das reCaptcha-Modul von OXID wurde für OXID6 aus dem Core entfernt und separat bereitgestellt:

Da sich das Design des Modul-Tpl-Blocks im separierten OXID-reCaptcha-Modul nicht immer sauber in die Flow und Wave-basierenden Themes einpasst, brauchte ich Ersatz. Ersatzmodule die auf Google reCaptcha in v2 bzw. v3 setzen, finde ich smart. Aber die Idee mit den unsichtbaren (designunabhängigen) Honeypot-Feldern finde ich immer noch am Besten.

Darum hier für die Öffentlichkeit dieses Form-Honeypot-Modul für OXID 6.x:

Form Honeypot Modul bei packagist.org

Das Modul kann einfach durch Einbindung von therealworld/formhoneypot-module in die composer.json installiert werden.

Folgende Formulare (analog zu reCaptcha + Registrierung) werden unterstützt:

  • Kontakt
  • Registierung
  • Preisalarm
  • Artikel empfehlen
  • Private Sales Einladung

Die eingesetzten unsichtbaren Formularfelder lassen sich im Backend konfigurieren. Sie passen sich auch an die jeweiligen Formulare an, sodass sie wirken, als ob sie zum Formularsetting dazugehören…

2 Likes

Moin,
Hast du schon längere real world Erfahrungen gesammelt, wie gut honeypot funktioniert?
Ich habe ein honeypot Feld in der Rechnungsadresse, um fake Bestellungen vorzubeugen, und trotz allen möglichen no-autofill Anweisungen (das Feld an sich ist für menschliche Besucher nicht sichtbar) für Browser, landen auch bei 100% echten Bestellungen immer wieder Eingaben in diesem Feld. Kann mir nicht so richtig erklären, warum und wie.

@vanilla_thunder:

Wenn ich Dein Problem richtig verstehe, füllt sich in Deinem Shop mit Deiner Extension, das honeypot-Feld bei einem normalen User-Besuch auch und verhindert so den Einkauf. Richtig?

Laut HTML-Doku: https://www.w3schools.com/tags/att_input_autocomplete.asp gilt das html-Attribut autocomplete=“off” nicht für hidden-Felder. D.h. es kommt evtl. via JS oder PHP. Vielleicht sind Deine Form-Names so gewählt, dass das JS oder das PHP auch für die Vorbelegung der Honeypots interessiert.

Steht da Müll in Deinem Honeypot?

nein, es verhindert nichts.
Wir haben außerhalb des Viewports nur ein Feld für Bots eingebaut, die auf gut Glück alle verfügbaren Felder ausfüllen. Die Bestellung wird angenommen, aber die Adresse wird über google Maps validiert, bevor die Bestellung verarbeitet wird (Der Händler verkauft auf Rechnung und der WK-Wert liegt öfters mal bei > 100€, daher die Vorsicht).
Und da stehen meistens Sachen wie “Frau” oder “Familie Mustermann”, also deutet eher auf Autofill o.ä.

@vanilla_thunder: Die Bestellung kann doch eigentlich gar nicht angenommen werden, wenn Dein Honeypot-Feld befüllt wird. Der Sinn ist dochh, das man das Feld prüft, ob da was drin steht. Und wenn ja, geht es nicht weiter. Ich speichere das Honeypotfeld auch nicht weiter, da mich ja der Inhalt nicht interessiert.
Warum speicherst Du Dein Honeypot-Feld (denn sonst wüsstest Du ja nicht was drin steht…)?