Explainers

Comment fonctionnent les CAPTCHA comportementaux passifs

Périmètre sûr : ce guide s'applique uniquement à vos propres applications ou à des systèmes que vous êtes autorisé à tester. Il ne décrit ni l'automatisation de sites tiers, ni le contournement de protections.

Un CAPTCHA comportemental passif ne pose aucune énigme visible : il observe la façon dont l'utilisateur interagit avec la page — rythme de frappe, trajectoire du curseur, signaux du navigateur — puis renvoie un score ou un token que votre serveur vérifie. reCAPTCHA v3 et Cloudflare Turnstile (mode managed) en sont les exemples courants. Pour une équipe d'automatisation, l'enjeu n'est donc pas de résoudre une énigme, mais de produire un token accepté et de le vérifier côté serveur.

Qu'est-ce qu'un CAPTCHA comportemental passif ?

Contrairement à un défi explicite (reCAPTCHA v2, grille d'images), un CAPTCHA passif fonctionne en arrière-plan : le widget collecte des signaux pendant l'usage de la page et reçoit en retour un token signé. Sur reCAPTCHA v3, ce token porte un score compris entre 0,0 et 1,0 ; sur Turnstile, il s'agit d'un token opaque validé par un appel serveur.

Ces widgets traitent des données comportementales : dans un contexte RGPD, documentez ce traitement et minimisez les signaux conservés — la CNIL les considère comme des données personnelles dès qu'elles sont rattachables à un utilisateur.

Le parcours du signal : trois acteurs

Pour raisonner sur une intégration, gardez en tête trois acteurs :

  • Le front déclenche le widget et transmet le token dans la requête.
  • Le fournisseur CAPTCHA produit le token à partir des signaux collectés.
  • Votre backend vérifie le token — et, pour reCAPTCHA v3, compare le score au seuil — avant d'autoriser l'action.

Ce que vous maîtrisez côté application

Trois leviers sont entre vos mains : la configuration du widget (sitekey, action, mode), la vérification serveur du token, et la réponse appliquée selon le score. Un seuil trop strict rejette du trafic légitime, trop permissif il laisse passer les abus. Mesurez vos scores réels avant de figer une valeur.

Résoudre un défi passif avec l'API CaptchaAI

CaptchaAI expose une API unique pour reCAPTCHA v3, Cloudflare Turnstile et Cloudflare Challenge. Le déroulé reste identique : capturez le sitekey et l'URL, soumettez la tâche, interrogez le résultat, puis appliquez le token dans la session qui a déclenché le défi — une session différente est la première cause de rejet.

Vérifiez d'abord que votre clé a un solde suffisant :

import os
import requests

API_KEY = os.environ['CAPTCHAAI_KEY']

def get_balance() -> float:
    resp = requests.post(
        'https://api.captchaai.com/getBalance',
        json={'clientKey': API_KEY},
        timeout=15,
    )
    resp.raise_for_status()
    return float(resp.json().get('balance', 0))

La facturation par thread — 5 threads dès BASIC ($15/mois), résolutions illimitées — garde le coût prévisible quand le volume monte.

Observabilité et journalisation

Instrumentez chaque appel : durée d'obtention du token, code retour HTTP, identifiant de tâche et taille de la file d'attente. Séparez les journaux par environnement et corrélez-les à votre traçage distribué (OpenTelemetry). Placez workers et solveur dans la même zone — OVHcloud, AWS eu-west-3 — pour limiter la latence.

Périmètre et limites

Rien ici ne décrit comment contourner une protection tierce. Pour un site que vous ne contrôlez pas, validez d'abord les conditions d'utilisation et la base juridique. À noter : CaptchaAI ne prend en charge ni hCaptcha ni FunCaptcha, et GeeTest v4 est seulement annoncé « à venir ».

Liste de contrôle

  • Le périmètre reste limité à vos propres applications ou à des sources autorisées.
  • La clé CaptchaAI est stockée dans un secret CI ou un coffre, jamais dans le code source.
  • Le token est appliqué dans la session qui a déclenché le défi.
  • Le seuil de score est calibré sur une distribution réelle, pas sur une valeur arbitraire.

FAQ

Qu'est-ce qui distingue un CAPTCHA passif d'un défi visible ?

Un défi visible (grille d'images, cases à cocher) exige une action de l'utilisateur ; un CAPTCHA passif note le comportement en arrière-plan et ne demande une vérification qu'en cas de doute, comme reCAPTCHA v3 ou Turnstile en mode managed.

Pourquoi mon score reCAPTCHA v3 est-il faible alors que le trafic est légitime ?

Un score bas traduit souvent une session pauvre en signaux : navigateur headless mal configuré, absence d'historique, ou token appliqué dans une autre session. Vérifiez que le token est produit et consommé dans le même contexte, puis calibrez le seuil sur vos données.

CaptchaAI prend-il en charge hCaptcha ?

Non — hCaptcha n'est pas pris en charge, pas plus que FunCaptcha (Arkose Labs). CaptchaAI couvre reCAPTCHA v2 et v3, Cloudflare Turnstile et Challenge, GeeTest v3, ainsi que les CAPTCHA image/OCR et en grille.

Guides connexes

Passez du concept à une intégration mesurée et reproductible. – Obtenez votre clé CaptchaAI.

Les commentaires sont désactivés pour cet article.