Anti-Bot

    User-Agent Spoofing

    Mis à jour le 1 février 2026

    Définition

    Le User-Agent Spoofing consiste à modifier le header HTTP User-Agent pour faire passer un script ou un bot pour un navigateur légitime. Bien que simple à implémenter, cette technique seule est insuffisante car les systèmes anti-bot modernes vérifient la cohérence entre le User-Agent déclaré et d'autres signaux (TLS fingerprint, JavaScript APIs).

    Deep Dive

    User-Agent Spoofing : nécessaire mais insuffisant

    Structure d'un User-Agent

    ```

    Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36

    (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36

    ```

    Composants :

  1. **Mozilla/5.0** : Token de compatibilité historique
  2. **Platform** : OS et architecture
  3. **Engine** : Moteur de rendu (WebKit, Gecko)
  4. **Browser** : Nom et version
  5. Pourquoi le spoofing seul ne suffit plus

    Les anti-bots vérifient la cohérence :

    | Signal | UA Chrome | Bot Python |

    |--------|-----------|------------|

    | TLS Fingerprint | JA3 Chrome | JA3 urllib |

    | navigator.webdriver | false | true |

    | navigator.plugins | [plugins...] | [] |

    | canvas fingerprint | Unique | Identique |

    Bonnes pratiques

    1. Utiliser des UA récents (vérifier chromestatus.com)

    2. Matcher l'OS du UA avec d'autres signaux

    3. Maintenir une base de UA à jour

    4. Varier les UA de manière réaliste

    Code Playground

    Gestion de profils navigateur cohérents incluant Client Hints pour éviter la détection

    python
    # Rotation User-Agent intelligente avec cohérence
    import random
    from dataclasses import dataclass
    from typing import List
    
    @dataclass
    class BrowserProfile:
        user_agent: str
        accept_language: str
        platform: str
        sec_ch_ua: str
        sec_ch_ua_platform: str
    
    # Profils cohérents (UA + headers Client Hints)
    BROWSER_PROFILES: List[BrowserProfile] = [
        BrowserProfile(
            user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
            accept_language="fr-FR,fr;q=0.9,en;q=0.8",
            platform="Win32",
            sec_ch_ua='"Google Chrome";v="120", "Chromium";v="120"',
            sec_ch_ua_platform='"Windows"'
        ),
        BrowserProfile(
            user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
            accept_language="fr-FR,fr;q=0.9",
            platform="MacIntel",
            sec_ch_ua='"Google Chrome";v="120", "Chromium";v="120"',
            sec_ch_ua_platform='"macOS"'
        ),
        BrowserProfile(
            user_agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
            accept_language="en-US,en;q=0.9",
            platform="Linux x86_64",
            sec_ch_ua='"Google Chrome";v="120", "Chromium";v="120"',
            sec_ch_ua_platform='"Linux"'
        ),
    ]
    
    def get_coherent_headers() -> dict:
        """Retourne des headers cohérents pour un profil aléatoire"""
        profile = random.choice(BROWSER_PROFILES)
        return {
            "User-Agent": profile.user_agent,
            "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
            "Accept-Language": profile.accept_language,
            "Accept-Encoding": "gzip, deflate, br",
            "Sec-Ch-Ua": profile.sec_ch_ua,
            "Sec-Ch-Ua-Mobile": "?0",
            "Sec-Ch-Ua-Platform": profile.sec_ch_ua_platform,
            "Sec-Fetch-Dest": "document",
            "Sec-Fetch-Mode": "navigate",
            "Sec-Fetch-Site": "none",
        }

    Avis d'Expert 2026

    Le User-Agent Spoofing est devenu une technique de base en 2026, mais son efficacité dépend entièrement de la cohérence globale du profil de requête. Les Client Hints (Sec-CH-UA-*) ajoutent une couche de complexité car ils doivent être cohérents avec le UA. La tendance est à l'utilisation de bibliothèques complètes comme undetected-chromedriver plutôt qu'au spoofing manuel.

    Besoin d'aide sur User-Agent Spoofing ?

    Nos experts peuvent vous accompagner sur vos projets de crawling et d'optimisation GEO.

    Contactez l'expert Crawlers.fr
    4.6/5 (73 avis d'experts)