SilentShield
← Tagasi blogisse
VäljalaseAJAXOpenCart

SilentShield 2.6: nupuvajutuse ja AJAXiga saadetavad vormid kontrollitakse nüüd

Marc Wagner·8. oktoober 2026·3 min lugemist

SilentShield 2.6 sulgeb lünga, mis läks ühele poele maksma kassa registreerimised: vorme, mis saadetakse tavalise submit’i asemel nupuvajutuse ja AJAXiga, meile ei teatatud. See artikkel selgitab, mis juhtus, mis muutub ja mida peate tegema. Täielik nimekiri on muudatuste logis.

Mis läks valesti

Vidin mõõdab tippimist ja hiireliikumist ning teatab tulemuse, kui külastaja vormi saadab. See kuulas brauseri submit sündmust. Mõned poed seda sündmust kunagi ei käivita. Näiteks OpenCart 3 kassa laadib registreerimissammu AJAXiga ja saadab selle lihtsa nupu ja jQuery.ajax abil.

Tulemus: teie server küsis /v1/verify kaudu külastaja kohta, kellest meil oli ainult esimene lehesündmus. Ilma tippimis- ja hiireandmeteta oli otsus „kahtlane“ ja registreerimine ebaõnnestus päris inimesel. Vorm oli kaitstud, kuid kaitse ei näinud külastajat.

Mis muutub

Versiooniga 2.6 tunneb vidin ära ka sedalaadi saatmise. See vaatab päringut, mis kannab behavior_nonce’i. Kui see päring lahkub lehelt ilma submit-sündmuseta ja vormi pole veel kontrollitud, hoiab vidin seda hetke kinni, teatab saatmisest koos kogutud tippimis- ja hiireandmetega ning saadab päringu pärast otsuse saabumist. Kui vastust 15 sekundi jooksul ei tule, saadetakse päring ikkagi ja teie server otsustab nagu varem.

Kõik muu jääb samaks: tavalise submit’iga vorme, nonce’ita päringuid ja lihtsaid lehepostitusi ei puututa.

Kuidas me seda testisime

Ehitasime OpenCarti kassa meie kohalikus testkeskkonnas päris jQueryga uuesti üles ja lasime simuleeritud kliendiserveril kutsuda /v1/verify. Väljalülitatud lülitiga lükati nupuvajutuse ja AJAXiga vorm tagasi (HTTP 403, „kahtlane“, põhjused NO_TYPING_PAUSES ja NO_MOUSE_MOVEMENT). Sisselülitatud lülitiga võeti sama külastaja vastu (HTTP 200, „inimene“). Tavalise submit’iga vorm, lihtne lehepostitus ja nonce’ita päring käitusid lülitiga sees ja väljas ühtmoodi.

Mida teada

  • See hõlmab päringuid, mis tehakse XMLHttpRequestiga, sealhulgas jQuery.ajax. Vorme, mis saadetakse fetch()iga, ei hõlma see veel, välja arvatud WooCommerce’i plokipõhine kassa, millel on oma käsitlus.
  • Teie serveripoolne kontroll ei muutu. Jätkake /v1/verify kutsumist nonce’iga.

Integratsioonijuhend

Valmis CAPTCHA-st loobuma?

Alustage oma vormide kaitsmist — nähtamatult. Krediitkaarti pole vaja.