Servera puses verifikācija
Vienmēr verificējiet SilentShield nonce savā serverī. Tikai klienta puses pārbaudes var tikt apietas ar botiem.
Kāpēc servera pusē?
Logrīks darbojas pārlūkā un ievieto nonce veidlapās. Bots var apiet logrīku un iesniegt veidlapu tieši. Servera puses verifikācija nodrošina, ka nonce tika likumīgi izsniegts un verificēts ar SilentShield.
API galapunkts
- 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" }
Atbildes formāts
{
"ok": true,
"verdict": "human",
"confidence": 0.92,
"requested_nonce": "..."
}human- human — lietotājs ļoti iespējams ir cilvēks. Apstrādājiet veidlapu.
suspicious- suspicious — serveris to noraidīja (HTTP 403, `ok: false`). Spriedums nosauc iemeslu, nevis lēmumu: to jau pieņēma jūsu konta slieksnis.
bot- bot — augsta pārliecība, ka tas ir bots. Noraidiet veidlapu.
Ieteicamā loģika
Serveris jau ir piemērojis jūsu konta slieksni: noraidījums pienāk kā HTTP 403 ar `ok: false`. Tāpēc pārbaudiet caurlaidi, nevis `bot` — citādi jūs izlaidīsiet katru noraidījumu, kas izteikts kā `suspicious`, un katru atbildi bez sprieduma (nederīga atslēga, izsmelta kvota).
if not ok or verdict != "human":
noraidīt veidlapu (403)
else:
apstrādāt veidlapu kā parastiVeidlapas, kas sūtītas ar AJAX
Vidžets ziņo par iesniegšanu, kad veidlapa tiek sūtīta ar parasto submit. Tas ziņo arī par pieprasījumiem, kas veikti ar XMLHttpRequest, tostarp jQuery.ajax, ja vien pieprasījuma pamatteksts satur lauku behavior_nonce: tas uz brīdi aiztur pieprasījumu, ziņo rakstīšanas un peles datus un nosūta pieprasījumu, tiklīdz ir spriedums, vēlākais pēc 15 sekundēm. Tāpēc serializējiet visu veidlapu, arī slēptos laukus. Jūsu servera puses pārbaude nemainās.
Neaptver: pieprasījumus, kas veikti ar fetch(), un sinhronus pieprasījumus. Šādos gadījumos serveris nesaņem rakstīšanas un peles datus, un /v1/verify atbild suspicious.
Kļūdu apstrāde
Ja SilentShield API nav sasniedzama (taimauts, 5xx kļūda), izlemiet par savu stratēģiju:
- Fail Open
- Atvērt — pieņemt veidlapu (labāka lietotāja pieredze, mazāk droši)
- Fail Closed
- Aizvērt — noraidīt veidlapu (drošāk, sliktāka lietotāja pieredze)
Lielākajai daļai lietotņu mēs iesakām atvērt ar reģistrēšanu. Kritiskām veidlapām (pieteikšanās, maksājumi) vajadzētu aizvērt.