Verificação no Servidor

Sempre verifique o nonce do SilentShield no seu servidor. Verificações apenas no lado do cliente podem ser contornadas por bots.

Por Que no Servidor?

O Widget é executado no navegador e injeta um nonce nos formulários. Um bot poderia ignorar o Widget e enviar o formulário diretamente. A verificação no servidor garante que o nonce foi legitimamente emitido e verificado pelo SilentShield.

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

Formato de Resposta

Responsejson
{
  "verdict": "human",
  "score": 0.92,
  "difficulty": "pass",
  "challenge_required": false
}
human
human — O usuário é muito provavelmente humano. Processe o formulário.
suspicious
suspicious — O usuário pode ser um bot. Considere verificações adicionais.
bot
bot — Alta confiança de que é um bot. Rejeite o formulário.

Lógica Recomendada

Na maioria dos casos, verifique o campo verdict:

Server-Side Logicjavascript
if verdict == "bot":
    reject the submission (403)
elif verdict == "suspicious":
    optionally require additional verification
else:
    process the form normally

Tratamento de Erros

Se a API do SilentShield estiver inacessível (timeout, erro 5xx), decida sua estratégia:

Fail Open
Fail open — Aceitar o formulário (melhor experiência do usuário, menos seguro)
Fail Closed
Fail closed — Rejeitar o formulário (mais seguro, pior experiência do usuário)

Para a maioria das aplicações, recomendamos fail open com registro de logs. Formulários críticos (login, pagamento) devem usar fail closed.