Skip to content

Codes d'erreur ​

Ce tableau s'adresse aux propriétaires de sites. Le widget place ces codes dans le code de son événement error, validateChallenge les renvoie comme reason, et capd les affiche comme motif des événements bloqués et échoués.

CodeOrigineSignification
missing_endpointwidgetLe widget n'a ni data-cap-api-endpoint ni CAP_CUSTOM_FETCH.
network_errorwidgetLe point d'accès de défi a renvoyé une erreur, ou aucun défi n'est arrivé.
challenge_parse_errorwidgetLa réponse au défi n'était pas du JSON.
challenge_unsupportedwidgetLe défi utilise un protocole que cette version du widget ne peut pas résoudre, ou HashWX dans un navigateur sans WebAssembly.
solve_failedwidgetLes workers de résolution ont échoué, une requête n'a pas pu atteindre le serveur, ou une erreur n'avait pas de code propre.
redeem_failedwidgetLa réponse de /redeem n'était pas du JSON.
invalid_solutionwidget, serveurLe serveur a rejeté l'échange. Dans le widget, le message de l'événement est l'error du serveur. Côté serveur, la preuve de travail est incorrecte.
invalid_expireswidgetL'expiration du jeton ne se situe pas dans les prochaines 24 heures, ce qui indique une horloge serveur incorrecte.
instr_csp_blockedwidget, serveurLa Content Security Policy de la page a bloqué le script d'instrumentation. Définissez CAP_SCRIPT_NONCE, comme décrit dans Content Security Policy.
instr_natives_tamperedwidget, serveurLes fonctions du navigateur dont dépend le script ont été remplacées avant son exécution, par une extension ou un script de la page.
instr_env_failedwidget, serveurLes vérifications de l'environnement ont échoué avant l'exécution du programme. Le script ne s'exécute pas dans une vraie page de navigateur, ou quelque chose a modifié l'iframe.
instr_script_failedwidget, serveurLe programme a levé une exception après la réussite des vérifications de l'environnement.
instr_blockedwidgetLes propres vérifications de navigateur automatisé du script ont échoué. Le serveur enregistre instr_automated_browser si la clé bloque les navigateurs automatisés, et instr_failed sinon.
instr_timeoutwidget, serveurLe script n'a pas répondu dans les 20 secondes suivant sa finalisation par le widget.
invalid_body, missing_token, missing_solutions, invalid_solutionsserveurLa requête /redeem est mal formée.
invalid_tokenserveurLe jeton du défi est falsifié ou mal formé, ou a été signé avec un autre secret.
scope_mismatchserveurLe jeton appartient à une autre clé de site ou à une autre portée.
expiredserveurLe défi a expiré avant son échange.
already_redeemedserveurLe défi a déjà été utilisé. Une vérification d'instrumentation échouée le consomme aussi.
nonce_store_errorserveurconsumeNonce a levé une exception.
instr_missingserveurLa requête ne contient aucun résultat d'instrumentation.
instr_corruptedserveurLe serveur n'a pas pu déchiffrer les données d'instrumentation du défi, généralement parce que le secret a changé.
instr_expiredserveurLe résultat d'instrumentation est arrivé après l'expiration du défi.
instr_staleserveurLe résultat annonce un temps écoulé supérieur à celui autorisé par le défi.
instr_oversizedserveurLes données collectées dépassent 65 536 caractères.
id_mismatchserveurLe résultat appartient à un autre défi.
failed_challengeserveurLes nombres du résultat sont incorrects. Le résultat a été modifié, ou le navigateur a mal exécuté les calculs du programme.
invalid_state, missing_output, missing_meta, invalid_metaserveurLe résultat ou les données scellées du défi sont mal formés.
instr_failedserveurLe widget a signalé un échec que le serveur ne reconnaît pas.
instr_automated_browserserveurLes vérifications de navigateur automatisé ont échoué. blockedBy liste lesquelles.
instr_probe_missingserveurLa clé bloque les navigateurs automatisés, mais le résultat ne contient aucune donnée sur le navigateur.
instr_automated_interactionserveurDes scripts ont déclenché au moins trois clics ou pressions de touches. Voir la détection des interactions.
instr_host_unreachableserveurLe script n'a pas pu lire la page autour de son iframe, et la politique de la clé en dépend.
instr_isolatedserveurLa page définit CAP_ISOLATE, et cette clé exige des données sur les interactions, le comportement ou les agents qu'une iframe isolée ne peut pas collecter. Désactivez ces blocages pour cette clé, ou retirez CAP_ISOLATE.
instr_widget_outdatedserveurUn widget d'une version antérieure ne peut pas satisfaire les exigences de cette clé. Mettez le widget à jour.
behavior_missingserveurL'évaluation du comportement est activée, et le résultat n'a aucune trace de comportement.
behavior_automatedserveurLe score de comportement a atteint le seuil.
behavior_no_interactionserveurRien n'a pressé le widget, et la clé exige une interaction.
behavior_agentserveurUn agent IA a été détecté, et la clé le bloque.
rate_limitedcapdLe client a dépassé la limite de débit de la clé.
non_browser_ua, missing_headercapdLa requête de défi a échoué au filtre de requêtes de la clé.
rule:<id>capdUne règle de la clé a bloqué la requête.
signal:<flag>capdLa clé est configurée pour bloquer sur cet indicateur de risque.

La réponse /redeem de capd renomme certains de ces codes dans son propre champ reason : instr_automated_browser devient automated_browser_detected, instr_automated_interaction devient automated_interaction_detected, instr_corrupted devient corrupted_instrumentation_data, instr_missing devient missing_instrumentation_response, instr_expired devient expired, et instr_timeout devient timeout, envoyé avec un statut 429.