Un système anti-bot est un logiciel placé devant un site web qui estime, pour chaque requête, la probabilité qu'elle provienne d'une automatisation plutôt que d'une personne, et agit en conséquence — la laissant passer, la ralentissant, la défiant ou la bloquant. L'estimation ne repose sur aucun fait unique. C'est un score assemblé à partir de quatre niveaux : d'où vient la requête (IP), comment la connexion a été établie (empreintes TLS et HTTP), ce que le navigateur révèle sur lui-même (empreinte JavaScript), et ce que le visiteur fait au fil du temps (comportement). Comprendre ces niveaux explique les deux choses que les utilisateurs de proxies trouvent les plus déroutantes : pourquoi une IP résidentielle « parfaite » est toujours défiée, et pourquoi la même configuration fonctionne sur un site et échoue sur un autre.

Les fournisseurs et les produits

La plupart des sites protégés utilisent l'un de ces produits : Cloudflare Bot Management (et son défi Turnstile), DataDome, Akamai Bot Manager, HUMAN (anciennement PerimeterX), Imperva (Incapsula), Kasada et AWS WAF Bot Control. Ils diffèrent par leur accent et par l'agressivité de leurs paramètres par défaut, mais ils sont construits sur les mêmes quatre niveaux, et c'est de ces niveaux que parle cet article. Tout ce qui suit s'applique à tous, dans une certaine mesure.

Niveau 1 : réputation IP

Le premier et le moins coûteux des contrôles. Avant même que la requête ne soit analysée, l'IP est vérifiée :

  • ASN et type — s'agit-il d'une société d'hébergement (datacenter), d'un FAI grand public (résidentiel) ou d'un opérateur mobile ? Les ASN d'hébergement commencent avec une pénalité sur la plupart des sites ; le raisonnement est expliqué dans Résidentiel vs datacenter vs mobile.
  • Renseignements sur les menaces — l'IP figure-t-elle sur des listes d'abus, est-elle connue comme sortie VPN/proxy, ou a-t-elle été vue attaquant d'autres clients du même fournisseur ? Les fournisseurs mutualisent les signaux sur l'ensemble de leur clientèle, donc une IP brûlée sur un site protégé par DataDome est suspecte sur tous les autres.
  • Vélocité — combien de requêtes cette IP a-t-elle faites récemment sur ce site, et vers combien de chemins différents ? Un compteur par IP est le plus ancien signal de bot qui soit et reste l'un des plus efficaces.
  • Géographie — le pays correspond-il à l'audience du site ? Correspond-il à la langue et au fuseau horaire que le navigateur signalera plus tard ?

C'est le seul niveau qu'un proxy contrôle directement. Une IP résidentielle ou mobile sans historique sur la cible le passe. Mais passer le niveau 1 signifie seulement que la requête passe aux niveaux 2 à 4 avec un score neutre, pas un bon score.

Niveau 2 : empreintes réseau (TLS, HTTP/2, TCP)

Avant que le contenu de la page ne soit servi, le serveur a déjà vu comment la connexion a été ouverte, et la manière dont elle a été ouverte identifie le logiciel client :

  • Empreinte TLS (JA3/JA4) — le ClientHello révèle la bibliothèque TLS : Chrome, Firefox, OpenSSL-en-Python, Go. Expliqué dans Empreinte TLS.
  • Empreinte HTTP/2 — les valeurs du cadre SETTINGS, la taille initiale de la fenêtre, les trames de priorité et l'ordre des en-têtes et pseudo-en-têtes. Les navigateurs ont des modèles caractéristiques et stables ; les bibliothèques HTTP en ont de différents. La recherche d'Akamai a rendu cette technique célèbre.
  • Empreinte TCP/IP — taille de fenêtre, TTL, options ; distingue les systèmes d'exploitation, et un User-Agent « Windows » avec une pile TCP Linux est une incohérence.

La logique de notation ici est la cohérence : l'identité au niveau réseau correspond-elle à ce que les en-têtes HTTP prétendent ? Un proxy ne touche pas à ces empreintes — il les transmet — donc un script derrière une IP résidentielle est identifié comme un script à ce niveau, quelle que soit la qualité de l'IP. C'est là que la plupart des questions « pourquoi mon proxy propre est-il bloqué ? » trouvent leur réponse.

Niveau 3 : empreinte navigateur et défis JavaScript

Si la requête atteint le point de servir le HTML, le JavaScript du fournisseur s'exécute dans le navigateur du visiteur et renvoie des informations. Deux types de choses se produisent.

Empreinte

Le script collecte les mêmes propriétés qu'un navigateur antidetect est conçu pour contrôler : hachages canvas et WebGL, polices, dimensions de l'écran et de la fenêtre, concurrence matérielle, fuseau horaire, langues, contexte audio, IP visibles via WebRTC, listes de plugins, et des dizaines de signaux plus petits. Il sonde également les artefacts d'automatisation : navigator.webdriver défini sur true, objets spécifiques à Chrome manquants ou incohérents, bizarreries du mode headless dans le rendu, un nombre inhabituel de certaines API surchargées (un signe de plugins furtifs qui patchent le navigateur). Et il vérifie la cohérence : la plateforme signalée par JavaScript correspond-elle à l'OS de l'empreinte TCP ? Le fuseau horaire correspond-il au pays de l'IP ? Voir ce qu'un navigateur antidetect contrôle.

Défis

Les fournisseurs émettent également des tâches de preuve de travail ou de preuve d'humanité. Le Turnstile de Cloudflare et l'interstitiel « vérification de votre navigateur » exécutent une charge de travail JavaScript dont le résultat doit être renvoyé ; un client qui ne peut pas exécuter JavaScript du tout — chaque bibliothèque HTTP simple — échoue simplement et ne voit jamais la page. Les CAPTCHA visibles sont le dernier recours, affichés lorsque le score est mauvais mais pas assez pour bloquer carrément. Réussir un défi donne généralement un cookie ou jeton valable pendant une période ; l'automatisation qui efface les cookies à chaque requête fait face au défi à chaque fois, ce qui est en soi un signal.

Niveau 4 : comportement

Au cours d'une session — et entre les sessions que le fournisseur peut relier par empreinte ou IP — le système observe ce que fait le visiteur :

  • Modèles de requêtes : pages par minute, si les images et scripts référencés par une page sont récupérés (les navigateurs humains les récupèrent ; les scrapers naïfs ne le font pas), si la navigation suit les liens ou saute directement aux URL profondes, si les mêmes chemins sont frappés dans le même ordre à chaque session.
  • Temps : des intervalles uniformes entre les requêtes sont mécaniques ; les humains sont irréguliers et par à-coups.
  • Interaction : mouvements de souris, défilement, événements clavier — leur présence et leur forme (les trajectoires de souris réelles courbent et dépassent ; les trajectoires scriptées sont des lignes droites ou des arcs parfaits).
  • Forme de session : une connexion suivie immédiatement d'une action de masse ; un paiement sans navigation ; une création de compte à partir d'une empreinte qui a créé cinq comptes hier.

Le comportement explique pourquoi une configuration techniquement parfaite — vrai navigateur, proxy assorti, empreinte propre — peut encore être détectée si elle agit comme une machine. C'est aussi le niveau où la réputation accumulée vit : une identité qui s'est comportée normalement pendant des semaines gagne une tolérance qu'une nouvelle n'a pas. C'est ce que signifie « échauffement » en pratique.

Comment les niveaux se combinent : le score

Chaque niveau apporte des preuves ; le produit les combine en un score de bot (Cloudflare expose le sien de 1 à 99 ; d'autres le gardent interne) et le propriétaire du site configure des seuils : au-dessus de X, autoriser ; entre X et Y, défier ; en dessous de Y, bloquer ou servir un leurre. Deux propriétés de cette conception importent pour quiconque utilise des proxies :

  1. Les niveaux doivent concorder. Le score n'est pas la somme de bonnes notes indépendantes ; les contradictions sont fortement pondérées. Une IP résidentielle (bonne) plus une empreinte TLS Python (mauvaise) plus un User-Agent Chrome (contradiction) obtient un score pire qu'une IP de datacenter avec un UA python-requests honnête, car la seconde est au moins cohérente.
  2. Rien n'est vérifié isolément. Passer la réputation IP vous achète l'entrée au contrôle suivant, pas un laissez-passer. Chaque affirmation que vous faites — par IP, par poignée de main, par en-tête, par JavaScript, par comportement — est contre-interrogée avec toutes les autres.

Ce que cela signifie pour le choix du proxy

NiveauCe qui le décideUn proxy peut-il le corriger ?
1. Réputation IPType d'IP, historique, vélocité, géoOui — c'est tout le travail du proxy
2. Empreintes réseauVotre client HTTP / navigateurNon — transmises inchangées
3. Empreinte navigateur / défi JSVotre navigateur et sa configurationNon — mais la géo et le fuseau horaire doivent correspondre au proxy
4. ComportementVotre logique d'automatisation et votre rythmeNon — bien que la rotation affecte la vélocité par IP

Donc : choisissez le type de proxy que la politique de niveau 1 de la cible exige (datacenter là où c'est toléré, résidentiel ou mobile sinon), puis concentrez vos efforts sur les niveaux 2 à 4, qu'aucun proxy ne touche. Concrètement, cela signifie un navigateur réel ou impersonné pour les cibles protégées, une cohérence d'empreinte par identité, une géo et un fuseau horaire assortis à l'IP, et un rythme de type humain. La stratégie de rotation interagit à la fois avec la vélocité du niveau 1 et la forme de session du niveau 4 — voir choisir un intervalle de rotation.

Comment savoir quel niveau vous bloque

  • Bloqué instantanément, sans HTML, même depuis un vrai navigateur sur la même IP → niveau 1 : l'IP ou l'ASN est le problème. Changez de type de proxy ou de fournisseur.
  • Le navigateur passe, le script sur la même IP ne passe pas → niveau 2 : empreinte TLS/HTTP. Passez à un vrai navigateur ou à un client impersonnant.
  • Interstitiel qui ne se résout jamais, ou CAPTCHA à chaque visite → niveau 3 : défi JavaScript échoué ou empreinte incohérente. Vérifiez les drapeaux d'automatisation, WebRTC, fuseau horaire vs IP.
  • Fonctionne pendant un moment, puis se dégrade ; ou les comptes meurent après des actions → niveau 4 : comportement ou vélocité. Ralentissez, variez les modèles, échauffez les identités.

Les fournisseurs renvoient des réponses distinctives (une page 403 de Cloudflare, les en-têtes x-datadome de DataDome et son endpoint CAPTCHA, le cookie _abck d'Akamai), donc identifier quel produit un site utilise est généralement une question d'examen des en-têtes et des cookies — et savoir quel produit vous indique quels niveaux il met en avant.

Questions fréquemment posées

Qu'est-ce qu'un score de bot ?

Une estimation par requête, produite en combinant la réputation IP, les empreintes réseau et navigateur, et les signaux comportementaux, de la probabilité que la requête soit automatisée. Les propriétaires de sites définissent des seuils pour autoriser, défier ou bloquer.

Pourquoi un proxy résidentiel reçoit-il encore un CAPTCHA ?

Parce que la réputation IP n'est qu'un des quatre niveaux. Si l'empreinte TLS/HTTP dit « script », si le navigateur échoue ou manque le défi JavaScript, ou si le comportement est mécanique, le score est mauvais quelle que soit l'IP.

Les systèmes anti-bot partagent-ils des données entre sites web ?

Au sein d'un fournisseur, oui : une IP ou une empreinte signalée sur le site d'un client augmente son risque sur les sites d'autres clients. C'est pourquoi un pool de proxies fortement utilisé contre une cible protégée par Cloudflare peut mal performer sur des cibles protégées par Cloudflare sans rapport.

Les bibliothèques HTTP simples peuvent-elles passer les défis JavaScript ?

Non. Les défis nécessitent d'exécuter JavaScript dans un environnement de type navigateur. Les options sont un vrai navigateur automatisé, ou un service de résolution qui exécute le défi pour vous et renvoie le cookie/jeton résultant — ce qui a lui-même un coût et un risque de détection.

Quelle est la différence entre un défi et un CAPTCHA ?

Un défi est souvent invisible — une charge de travail JavaScript ou une attestation que le navigateur complète automatiquement. Un CAPTCHA est un puzzle visible pour l'humain, affiché lorsque le score est assez mauvais pour que le système veuille une preuve explicite.

Est-il possible d'être complètement indétectable ?

Pas en tant que garantie. La détection est probabiliste et les fournisseurs mettent à jour constamment. Ce qui est réalisable, c'est la cohérence sur les quatre niveaux plus un comportement de type humain, ce qui maintient le score dans la plage « autoriser » la plupart du temps. Quiconque promet l'indétectabilité par le seul proxy ne vend que le niveau 1.