SilentShield
← Zurück zum Blog
ReleaseAJAXOpenCart

SilentShield 2.6: per Klick und AJAX gesendete Formulare werden jetzt geprüft

Marc Wagner·8. Oktober 2026·3 Min. Lesezeit

SilentShield 2.6 schließt eine Lücke, die einen Shop seine Checkout-Registrierungen kostete: Formulare, die per Button-Klick und AJAX statt per normalem Submit gesendet werden, wurden bei uns nicht gemeldet. Dieser Beitrag erklärt, was passiert ist, was sich ändert und was Sie tun müssen. Die vollständige Liste steht im Changelog.

Was schiefging

Das Widget misst Tippen und Mausbewegung und meldet das Ergebnis, wenn ein Besucher ein Formular absendet. Es hörte dafür auf das submit-Ereignis des Browsers. Manche Shops lösen dieses Ereignis nie aus. Der OpenCart-3-Checkout lädt den Registrierungsschritt zum Beispiel per AJAX nach und sendet ihn mit einem einfachen Button und jQuery.ajax.

Die Folge: Ihr Server fragte /v1/verify nach einem Besucher, zu dem uns nichts als das erste Seitenereignis vorlag. Ohne Tipp- und Mausdaten lautete das Urteil „suspicious“, und die Registrierung scheiterte für einen echten Menschen. Das Formular war geschützt, aber der Schutz konnte den Besucher nicht sehen.

Was sich ändert

Mit Version 2.6 erkennt das Widget auch diese Art der Absendung. Es betrachtet den Request, der die behavior_nonce trägt. Verlässt dieser Request die Seite ohne Submit-Ereignis und wurde das Formular noch nicht geprüft, hält das Widget ihn kurz an, meldet die Absendung mit den gesammelten Tipp- und Mausdaten und sendet den Request, sobald das Urteil vorliegt. Kommt innerhalb von 15 Sekunden keine Antwort, wird der Request trotzdem gesendet, und Ihr Server entscheidet wie bisher.

Alles andere bleibt, wie es war: Formulare mit normalem Submit, Requests ohne Nonce und einfache Seiten-Posts werden nicht angefasst.

So haben wir es getestet

Wir haben den OpenCart-Checkout in unserer lokalen Testumgebung mit echtem jQuery nachgebaut und von einem simulierten Kundenserver /v1/verify aufrufen lassen. Bei ausgeschaltetem Schalter wurde das Formular mit Klick und AJAX abgewiesen (HTTP 403, „suspicious“, Gründe NO_TYPING_PAUSES und NO_MOUSE_MOVEMENT). Bei eingeschaltetem Schalter wurde derselbe Besucher angenommen (HTTP 200, „human“). Ein Formular mit normalem Submit, ein einfacher Seiten-Post und ein Request ohne Nonce verhielten sich mit eingeschaltetem und ausgeschaltetem Schalter gleich.

Was Sie wissen sollten

  • Er erfasst Requests über XMLHttpRequest, darunter jQuery.ajax. Mit fetch() gesendete Formulare sind noch nicht erfasst, mit Ausnahme des WooCommerce-Block-Checkouts, der eine eigene Behandlung hat.
  • Ihre serverseitige Prüfung ändert sich nicht. Rufen Sie weiterhin /v1/verify mit der Nonce auf.

Integrationsanleitung

Bereit, CAPTCHA loszuwerden?

Schützen Sie Ihre Formulare — unsichtbar. Keine Kreditkarte erforderlich.