Serveripoolne kontrollimine
Kontrollige SilentShieldi kontrollkoodi alati oma serveris. Ainult kliendipoolseid kontrolle saavad robotid mööda hiilida.
Miks serveripoolne?
Vidin töötab brauseris ja lisab vormidesse kontrollkoodi. Robot võib vidina vahele jätta ja vormi otse esitada. Serveripoolne kontrollimine tagab, et kontrollkood on SilentShieldi poolt õiguspäraselt väljastatud ja kontrollitud.
API lõpp-punkt
- Method
POST- URL
https://api.silentshield.io/api/v1/captcha/verify-nonce- Headers
- X-Api-Key: YOUR_API_KEY Content-Type: application/json
- Body
- { "nonce": "the-nonce-from-the-form" }
Vastuse formaat
{
"ok": true,
"verdict": "human",
"confidence": 0.92,
"requested_nonce": "..."
}human- human — Kasutaja on väga tõenäoliselt inimene. Töödelge vormi.
suspicious- suspicious — server lükkas selle tagasi (HTTP 403, `ok: false`). Otsus nimetab põhjuse, mitte otsustuse: selle tegi juba teie konto lävi.
bot- bot — Suur kindlus, et tegemist on robotiga. Lükake vorm tagasi.
Soovitatav loogika
Server on teie konto läve juba rakendanud: tagasilükkamine saabub HTTP 403-na koos `ok: false`. Kontrollige seega läbipääsu, mitte `bot`-i — muidu lasete läbi iga tagasilükkamise, mis anti kui `suspicious`, ja iga vastuse ilma otsuseta (vigane võti, kvoot täis).
if not ok or verdict != "human":
lükka vorm tagasi (403)
else:
töötle vormi tavapäraseltAJAXiga saadetavad vormid
Vidin teatab saatmisest, kui vorm saadetakse tavalise submit’iga. Samuti teatab see päringutest, mis tehakse XMLHttpRequestiga, sealhulgas jQuery.ajax, kui päringu keha sisaldab välja behavior_nonce: see hoiab päringu hetke kinni, teatab tippimis- ja hiireandmed ning saadab päringu, kui otsus on olemas, hiljemalt 15 sekundi pärast. Serialiseerige seega kogu vorm, sealhulgas peidetud väljad. Teie serveripoolne kontroll ei muutu.
Ei hõlma: päringud, mis tehakse fetch()iga, ja sünkroonsed päringud. Nende puhul ei saa server tippimis- ega hiireandmeid ja /v1/verify vastab suspicious.
Vigade käsitlemine
Kui SilentShieldi API on kättesaamatu (ajalõpp, 5xx viga), otsustage oma strateegia:
- Fail Open
- Fail open — Aktsepteerige vorm (parem kasutajakogemus, vähem turvaline)
- Fail Closed
- Fail closed — Lükake vorm tagasi (turvalisem, halvem kasutajakogemus)
Enamiku rakenduste puhul soovitame fail open-lähenemist koos logimisega. Kriitilised vormid (sisselogimine, makse) peaksid kasutama fail closed-lähenemist.