← Le blog
Technique

Comment fonctionnent les systèmes anti-bot

29/08/2026 · 9 min de lecture · par WyndPath

Quand un scraper renvoie une erreur 403 ou une page « Just a moment… » à la place du contenu attendu, ce n'est jamais le fruit du hasard. Un système anti-bot a observé la requête, l'a comparée à ce qu'il attend d'un vrai navigateur, et a repéré une incohérence. Ces systèmes ne posent pas une seule question, ils en empilent plusieurs. Voici les couches qu'ils traversent, dans l'ordre où elles interviennent.

Couche 1 : le réseau, avant même la requête

Tout commence par l'adresse IP. Avant de regarder ce que vous demandez, un serveur regarde d'où vous venez. Toutes les IP ne se valent pas, et une hiérarchie de confiance implicite s'est installée.

Mobile, puis résidentiel, puis datacenter : voilà l'ordre de confiance dans lequel une IP est jugée.

Une IP mobile (réseau d'un opérateur cellulaire) inspire le plus confiance, car des milliers d'abonnés partagent la même adresse, ce qui rend le blocage risqué. Une IP résidentielle (box internet d'un particulier) est jugée crédible, parce qu'un humain réel s'en sert. Une IP de datacenter (serveur loué chez un hébergeur) est immédiatement suspecte : très peu de vrais visiteurs naviguent depuis un centre de données. Le serveur identifie l'origine via le numéro de réseau (ASN) et le reverse DNS. À cela s'ajoute la limitation de débit : trop de requêtes depuis la même adresse, à une cadence trop régulière, et l'accès se ferme.

Couche 2 : la poignée de main TLS

C'est la couche la plus méconnue, et souvent la plus décisive. Avant tout échange de données en HTTPS, le client et le serveur négocient le chiffrement. Le tout premier message du client, appelé ClientHello, part en clair et décrit ses capacités : versions supportées, algorithmes de chiffrement, extensions, dans un ordre précis. Or cet ordre et ce contenu varient selon la bibliothèque logicielle utilisée.

On peut donc calculer une empreinte de cette poignée de main, connue sous les noms de JA3 puis de JA4. Le problème pour un scraper naïf est simple à énoncer :

Un client qui affirme être Chrome dans ses en-têtes, mais qui serre la main comme un script Python, se contredit lui-même.

Aucune modification d'en-tête ne masque cette contradiction, car elle se joue à un niveau plus bas que le HTTP. Nous détaillons ce mécanisme dans un article dédié à l'empreinte TLS.

Couche 3 : l'empreinte du navigateur

Une fois la connexion établie et une page chargée, un script JavaScript se met au travail. Il interroge des dizaines de propriétés du navigateur pour construire un identifiant stable, sans avoir besoin de cookie.

La force du système ne tient pas à un signal isolé, mais à leur cohérence. Un navigateur qui dit être Chrome sur Windows mais dont le rendu graphique ressemble à celui d'un serveur Linux sans écran, voilà une histoire qui ne tient pas debout.

Couche 4 : le comportement

Les moteurs les plus avancés ne se contentent pas de photographier le client, ils le regardent agir. Mouvements de souris, vitesse de défilement, rythme des clics, cadence des requêtes : tout est analysé en temps réel.

Un humain est irrégulier par nature. Sa souris suit des courbes, marque des hésitations, accélère puis ralentit. Un bot, lui, tend vers la perfection mécanique : trajectoires en ligne droite, intervalles parfaits à la milliseconde, ou tout simplement aucun mouvement du tout. Cette régularité est précisément ce qui le désigne.

Couche 5 : le challenge

Quand le doute subsiste, le système impose une épreuve. Elles ne se ressemblent pas toutes :

Un ordre de grandeur. Cloudflare a estimé en 2021 que l'humanité passait environ 500 années cumulées par jour à résoudre des CAPTCHAs. C'est ce calcul qui a motivé l'arrivée de challenges sans puzzle.

Les grands éditeurs, et leurs signatures

Quelques acteurs dominent ce marché, chacun avec une approche propre. Ils laissent des traces reconnaissables, souvent sous forme de cookies.

Pourquoi un simple proxy ne suffit jamais

C'est l'erreur la plus commune. Un proxy ne change qu'une seule chose : l'adresse IP. Il corrige la couche 1, et laisse intactes toutes les autres. Un scraper qui passe par une belle IP résidentielle mais qui serre la main en Python, sans exécuter le JavaScript et sans le moindre comportement crédible, se fait repérer dès la deuxième couche.

Pour accéder proprement à une donnée publique, il faut que toutes les couches racontent la même histoire : un vrai moteur de navigateur capable d'exécuter le JavaScript et les challenges, une IP cohérente avec le profil, et une parfaite concordance entre la poignée de main TLS, les en-têtes, les propriétés du navigateur et le comportement. C'est exactement ce travail d'orchestration que WyndPath prend en charge, dans le respect des règles publiées par les sites et de la limitation de débit.

Sources · Scrapfly, guides JA3/JA4, fingerprinting et bypass anti-bot (2024-2026) · Documentation Cloudflare (cookies, Turnstile) · DataDome (classification comportementale) · reCAPTCHA et hCaptcha (documentation officielle) · Cloudflare, estimation CAPTCHA (2021).

Récupérer cette donnée, sans se faire bloquer

WyndPath gère proxys, rendu JavaScript et passage anti-bot en un seul appel API. Payé au succès.

Démarrer gratuitement →
À lire aussi · Chiffres
Quelle part du trafic web est générée par des bots ?
À lire aussi · Technique
Empreinte TLS (JA3/JA4) : pourquoi un scraper se fait repérer