SilentShield

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

Responsejson
{
  "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).

Server-Side Logicjavascript
if not ok or verdict != "human":
    noraidīt veidlapu (403)
else:
    apstrādāt veidlapu kā parasti

Veidlapas, 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.