Expliqué
Le fingerprinting de navigateur collecte un ensemble d'attributs de votre navigateur et les transforme en un identifiant stable. Même sans cookies, la combinaison du User-Agent, de la langue, du fuseau horaire, de la résolution d'écran, des polices installées, du hash de rendu canvas, de la chaîne de rendu WebGL, de l'empreinte du contexte audio et de dizaines d'autres signaux est suffisamment unique pour identifier un seul navigateur entre les sessions avec une précision surprenante.
Les deux grandes catégories sont le fingerprinting passif et actif. Le fingerprinting passif lit les attributs que le navigateur expose implicitement : User-Agent, Accept-Language, indices client sec-ch-ua. Le fingerprinting actif exécute du JavaScript qui sonde le moteur de rendu du navigateur, le moteur audio, le GPU et les caractéristiques de timing, puis calcule un hash.
Pour le scraping et l'automatisation, le fingerprinting est important car la rotation d'IP seule ne suffit pas. Si vous faites tourner 10 000 IP résidentielles mais que chaque requête porte la même empreinte canvas et le même User-Agent par défaut de Playwright, la destination peut corréler les 10 000 requêtes à la même instance de scraper. Les systèmes anti-bot modernes (Cloudflare, Akamai, PerimeterX, Datadome) utilisent tous intensivement le fingerprinting en parallèle de l'analyse IP.
Comment ça fonctionne
Lorsque votre navigateur charge une page avec du code de fingerprinting, le script énumère les propriétés du navigateur (UA, langue, plugins, écran, fuseau horaire), dessine un canvas caché avec du texte et des dégradés spécifiques puis relit les pixels rendus (empreinte canvas), crée un contexte WebGL et lit les chaînes du fournisseur GPU et du moteur de rendu (empreinte WebGL), génère un son avec l'API audio et lit le spectre (empreinte audio), et chronomètre des opérations spécifiques (math.tan, dérive de performance.now) pour les signaux matériels.
Toutes ces valeurs sont hachées en un identifiant d'empreinte et renvoyées au serveur. Parce que la combinaison d'une douzaine de ces attributs est très unique, l'identifiant résultant identifie de manière stable le navigateur entre les cookies effacés, les nouvelles sessions et les différentes IP.