Akcia pre nových zákazníkov−20 %Zľava 20 % na prvé 3 mesiace pri mesačnej platbeZobraziť tarify
SilentShield

Overenie na strane servera

Vždy overte SilentShield nonce na vašom serveri. Overenia iba na strane klienta môžu byť obídené botmi.

Prečo na strane servera?

Widget beží v prehliadači a vkladá nonce do formulárov. Bot by mohol widget preskočiť a odoslať formulár priamo. Overenie na strane servera zabezpečuje, že nonce bol legitímne vydaný a overený SilentShield.

API Endpoint

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" }

Formát odpovede

Responsejson
{
  "ok": true,
  "verdict": "human",
  "confidence": 0.92,
  "requested_nonce": "..."
}
human
human — Používateľ je veľmi pravdepodobne človek. Spracujte formulár.
suspicious
suspicious — server odmietol (HTTP 403, `ok: false`). Verdikt uvádza dôvod, nie rozhodnutie: to už padlo s prahom vášho účtu.
bot
bot — Vysoká istota, že ide o bota. Odmietnite formulár.

Odporúčaná logika

Server už uplatnil prah vášho účtu: odmietnutie prichádza ako HTTP 403 s `ok: false`. Kontrolujte preto prepustenie, nie `bot` — inak prepustíte každé odmietnutie vydané ako `suspicious` a každú odpoveď bez verdiktu (neplatný kľúč, vyčerpaná kvóta).

Server-Side Logicjavascript
if not ok or verdict != "human":
    odmietnuť formulár (403)
else:
    spracovať formulár bežným spôsobom

Formuláre odosielané cez AJAX

Widget hlási odoslanie, keď sa formulár odosiela bežným submit. Hlási aj požiadavky vykonané cez XMLHttpRequest, vrátane jQuery.ajax, ak telo požiadavky obsahuje pole behavior_nonce: požiadavku na chvíľu pozdrží, nahlási údaje o písaní a pohybe myši a požiadavku odošle, hneď ako príde verdikt, najneskôr po 15 sekundách. Serializujte preto celý formulár vrátane skrytých polí. Vaša kontrola na strane servera sa nemení.

Nepokryté: požiadavky vykonané cez fetch() a synchrónne požiadavky. Pri nich server nedostane údaje o písaní a pohybe myši a /v1/verify odpovie suspicious.

Spracovanie chýb

Ak je API SilentShield nedostupné (timeout, chyba 5xx), rozhodnite sa o stratégii:

Fail Open
Fail open — Prijať formulár (lepší UX, menej bezpečné)
Fail Closed
Fail closed — Odmietnuť formulár (bezpečnejšie, horší UX)

Pre väčšinu aplikácií odporúčame fail open s logovaním. Kritické formuláre (prihlásenie, platba) by mali používať fail closed.