Vérification côté serveur
Vérifiez toujours le nonce SilentShield sur votre serveur. Les vérifications côté client seules peuvent être contournées par les bots.
Pourquoi côté serveur ?
Le Widget s'exécute dans le navigateur et injecte un nonce dans les formulaires. Un bot pourrait ignorer le Widget et soumettre le formulaire directement. La vérification côté serveur garantit que le nonce a été légitimement émis et vérifié par SilentShield.
Point d'accès 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 de la réponse
Responsejson
{
"verdict": "human",
"score": 0.92,
"difficulty": "pass",
"challenge_required": false
}human- human — L'utilisateur est très probablement humain. Traitez le formulaire.
suspicious- suspicious — L'utilisateur pourrait être un bot. Envisagez des vérifications supplémentaires.
bot- bot — Forte probabilité qu'il s'agisse d'un bot. Rejetez le formulaire.
Logique recommandée
Dans la plupart des cas, vérifiez le champ verdict :
Server-Side Logicjavascript
if verdict == "bot":
reject the submission (403)
elif verdict == "suspicious":
optionally require additional verification
else:
process the form normallyGestion des erreurs
Si l'API SilentShield est injoignable (timeout, erreur 5xx), définissez votre stratégie :
- Fail Open
- Accepter (fail open) — Accepter le formulaire (meilleure expérience utilisateur, moins sécurisé)
- Fail Closed
- Rejeter (fail closed) — Rejeter le formulaire (plus sécurisé, moins bonne expérience utilisateur)
Pour la plupart des applications, nous recommandons d'accepter avec journalisation. Les formulaires critiques (connexion, paiement) devraient rejeter.