SilentShield
← Tillbaka till bloggen
ReleaseAJAXOpenCart

SilentShield 2.6: formulär som skickas med klick och AJAX kontrolleras nu

Marc Wagner·8 oktober 2026·3 min läsning

SilentShield 2.6 täpper till en lucka som kostade en butik registreringar i kassan: formulär som skickas med ett knappklick och AJAX i stället för en vanlig submit rapporterades inte till oss. Den här artikeln förklarar vad som hände, vad som ändras och vad du behöver göra. Hela listan finns i ändringsloggen.

Vad som gick fel

Widgeten mäter skrivande och musrörelser och rapporterar resultatet när en besökare skickar ett formulär. Den lyssnade på webbläsarens submit-händelse. Vissa butiker utlöser aldrig den händelsen. OpenCart 3-kassan laddar till exempel registreringssteget med AJAX och skickar det med en vanlig knapp och jQuery.ajax.

Resultatet: din server frågade /v1/verify om en besökare som vi bara hade fått den första sidhändelsen för. Utan skriv- och musdata blev bedömningen ”suspicious”, och registreringen misslyckades för en verklig person. Formuläret var skyddat, men skyddet kunde inte se besökaren.

Vad som ändras

Med version 2.6 känner widgeten också igen den här typen av inskickning. Den tittar på förfrågan som bär behavior_nonce. Om förfrågan lämnar sidan utan en submit-händelse och formuläret ännu inte har kontrollerats håller widgeten kvar den en kort stund, rapporterar inskickningen med den insamlade skriv- och musdatan och skickar förfrågan när bedömningen har kommit. Om inget svar kommer inom 15 sekunder skickas förfrågan ändå och din server avgör, som tidigare.

Allt annat är som förut: formulär med vanlig submit, förfrågningar utan nonce och enkla sidinskickningar berörs inte.

Hur vi testade

Vi byggde om OpenCart-kassan i vår lokala testmiljö med riktig jQuery och lät en simulerad kundserver anropa /v1/verify. Med reglaget avstängt avvisades formuläret som skickades med klick och AJAX (HTTP 403, ”suspicious”, orsakerna NO_TYPING_PAUSES och NO_MOUSE_MOVEMENT). Med reglaget påslaget godkändes samma besökare (HTTP 200, ”human”). Ett formulär med vanlig submit, en enkel sidinskickning och en förfrågan utan nonce betedde sig likadant med reglaget på och av.

Bra att veta

  • Det omfattar förfrågningar som görs med XMLHttpRequest, vilket inkluderar jQuery.ajax. Formulär som skickas med fetch() omfattas ännu inte, med undantag för WooCommerce blockkassa, som har egen hantering.
  • Din kontroll på serversidan ändras inte. Fortsätt anropa /v1/verify med nonce.

Integrationsguide

Redo att slippa CAPTCHA?

Börja skydda dina formulär — osynligt. Inget kreditkort krävs.