Weryfikacja po stronie serwera
Zawsze weryfikuj nonce SilentShield na swoim serwerze. Same kontrole po stronie klienta mogą zostać ominięte przez boty.
Dlaczego po stronie serwera?
Widget działa w przeglądarce i wstrzykuje nonce do formularzy. Bot może pominąć widget i przesłać formularz bezpośrednio. Weryfikacja po stronie serwera zapewnia, że nonce został legalnie wystawiony i zweryfikowany przez SilentShield.
Punkt końcowy API
- 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" }
Format odpowiedzi
{
"ok": true,
"verdict": "human",
"confidence": 0.92,
"requested_nonce": "..."
}human- human — Użytkownik jest najprawdopodobniej człowiekiem. Przetwórz formularz.
suspicious- suspicious — serwer odrzucił (HTTP 403, `ok: false`). Werdykt podaje powód, a nie decyzję: ta zapadła już wraz z progiem Państwa konta.
bot- bot — Wysokie prawdopodobieństwo, że to bot. Odrzuć formularz.
Zalecana logika
Serwer zastosował już próg Państwa konta: odrzucenie przychodzi jako HTTP 403 z `ok: false`. Proszę zatem sprawdzać przepuszczenie, a nie `bot` — w przeciwnym razie przepuszczą Państwo każde odrzucenie wydane jako `suspicious` oraz każdą odpowiedź bez werdyktu (nieprawidłowy klucz, wyczerpany limit).
if not ok or verdict != "human":
odrzuć formularz (403)
else:
przetwórz formularz normalnieObsługa błędów
Jeśli API SilentShield jest nieosiągalne (timeout, błąd 5xx), zdecyduj o swojej strategii:
- Fail Open
- Przepuść — Zaakceptuj formularz (lepsza obsługa użytkownika, mniejsze bezpieczeństwo)
- Fail Closed
- Zablokuj — Odrzuć formularz (większe bezpieczeństwo, gorsza obsługa użytkownika)
Dla większości aplikacji zalecamy przepuszczanie z logowaniem. Krytyczne formularze (logowanie, płatności) powinny blokować.