Flux RSS - La vie du site - Nouveautés et mises à jour
Assiste.com - Sécurité informatique - Vie privée sur le Web - Neutralité d'Internet Assiste.com - Sécurité informatique - Vie privée sur le Web - Neutralité d'Internet

Substituer un User Agent - general.useragent.override

Substituer un User Agent - general.useragent.override - Ce changement peut être automatique (systématique - sans raison particulière) ce qui peut améliorer l'identification de Firefox sous des systèmes d'exploitation de serveurs peu répandus.

Un navigateur Web, comme n'importe quelle autre application qui se connecte, est une application locale (« application client »), s’exécutant dans l’appareil de l’utilisateur. Cette application s'identifie auprès des serveurs (dans le modèle client-serveur) ou des homologues (dans le modèle des réseaux pair-à-pair [P2P]) par une chaîne de caractères (une signature formelle, caractéristique) qui est communiquée à chaque requête extérieure, dans l’en-tête des requêtes HTTP. Une page Web qui s'affiche à l'écran d'un internaute comporte généralement plusieurs dizaines de requêtes à plusieurs dizaines de serveurs.

Cette chaîne de caractères s'appelle User-Agent et permet d'identifier l'application, le système d'exploitation dans lequel elle s'exécute, le fournisseur de l'application et la version de cette application lors de sa requête.

La syntaxe générale de cette chaîne de caractères est une suite de 3 directives :

User-Agent: <product> / <product-version> <comment>

Directives :

  1. <product> : un identifiant du produit (de l'application) - son nom ou son nom de code de développement.

  2. <product-version> : le numéro de version du produit.

  3. <comment> : Aucun, un ou plusieurs commentaires contenant plus de détails (informations sur les sous-produits, par exemple).

L’utilisation de cette syntaxe, pour un navigateur Web, est :

Mozilla/5.0 (<system-information>) <platform> (<platform-details>) <extensions>

Par exemples :

Mozilla/5.0 (Windows NT 10.0; rv:68.0) Gecko/20100101 Firefox/68.0

Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0

Mozilla/5.0 (Macintosh; Intel Mac OS X x.y; rv:42.0) Gecko/20100101 Firefox/42.0

Les valeurs utilisées dans cette syntaxe :

  • Mozilla/5.0 est le jeton général qui indique que le navigateur est compatible avec Mozilla. Pour des raisons historiques, presque tous les navigateurs Web du monde utilisent ce jeton aujourd'hui.

  • (Windows NT 10.0; rv:68.0) décrit :

    • La plate-forme native sous laquelle le navigateur s'exécute (Windows, Mac, Linux, Android, etc.) et s'il s'agit d'un téléphone mobile. Les téléphones Firefox OS disent simplement « Mobile », le Web étant la plate-forme. Notez que la plate-forme peut être constituée de plusieurs jetons séparés par un ";".

    • La version de référence (pas la version exacte) de l'application. Pour Firefox, cette directive indique la version finale du moteur de rendu Gecko, même si le moteur de rendu actuel est le nouveau Quantum (depuis Firefox 57, le 14 nov. 2017). Il ne s’agit pas de multiplier sans cesse les chaînes de caractères des User-Agent lorsque cela n’a aucune importance pour s'identifier auprès des serveurs. Dans la pratique, les navigateurs Web changent de version toutes les 4 à 6 semaines (corrections de failles de sécurité[2]  ou ajouts de fonctionnalités). Dans les navigateurs Firefox récents, geckoversion est identique à firefoxversion.

  • Pour Firefox, Gecko / geckotrail indique (de quoi est fait un navigateur Web ?) :

    • Que le navigateur est basé sur le moteur de rendu Gecko.

    • geckotrail est toujours la chaîne fixe 20100101.

  • Firefox / firefoxversion indique que le navigateur est Firefox et fournit la version.

Substituer un User Agent (UA spoofing) - general.useragent.override - Substituer un User Agent (UA spoofing)

Il est possible de substituer un code agent utilisateur (UA) par un autre. Dans Firefox, ceci se fait en substituant un code agent (UA spoofing) au code UA « normal » en utilisant le champ « general.useragent.override ».

Le code agent « normal », dans Firefox, est, actuellement (2020), Mozilla/5.0 (Windows NT 10.0; rv:68.0) Gecko/20100101 Firefox/68.0, mais, tout d'abord, qu'est-ce qu'un code agent ?

On peut voir, dans Firefox, la chaîne de caractères qu’il utilise pour s’identifier et identifier l’environnement dans lequel il « tourne » en saisissant about:support dans le champ de navigation. Par exemple :

Firefox - Spécifier un agent utilisateur (UA – User Agent) alternatif - about:support - general.useragent.override
Firefox - Spécifier un agent utilisateur (UA – User Agent) alternatif - about:support - general.useragent.override


Il est possible de lui substituer un autre code (substituer, pas remplacer [le User Agent « normal » reste inchangé]). Ce changement peut être automatique (systématique - sans raison particulière) ce qui peut améliorer l'identification de Firefox sous des systèmes d'exploitation de serveurs peu répandus.

Le code de substitution doit être créer/saisi dans un champ (general.useragent.override) qui, par défaut, n'existe pas. Suivre cette procédure :

Saisir about:config dans la zone d'adresse de Firefox et passer l'avertissement de sécurité puis :

Firefox - Spécifier un agent utilisateur (UA – User Agent) alternatif - about:support - general.useragent.override
Firefox - Spécifier un agent utilisateur (UA – User Agent) alternatif - about:support - general.useragent.override


Créer le champ general.useragent.override (saisir le nom de ce champs dans la zone de recherche et, comme il n'existe pas, il est suggérer de le créer. Faites-le exactement comme montré ci-dessous).

Firefox - Spécifier un agent utilisateur (UA – User Agent) alternatif - about:support - general.useragent.override
Firefox - Spécifier un agent utilisateur (UA – User Agent) alternatif - about:support - general.useragent.override


Donner à ce champs la valeur suivante (recopier la valeur)
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.122 Safari/537.36

Firefox - Spécifier un agent utilisateur (UA – User Agent) alternatif - about:support - general.useragent.override
Firefox - Spécifier un agent utilisateur (UA – User Agent) alternatif - about:support - general.useragent.override


Vérifiez. C'est bon.

Firefox - Spécifier un agent utilisateur (UA – User Agent) alternatif - about:support - general.useragent.override
Firefox - Spécifier un agent utilisateur (UA – User Agent) alternatif - about:support - general.useragent.override


Regardez à nouveau dans about:support. Le User Agent « normal » est inchangé.

Firefox - Spécifier un agent utilisateur (UA – User Agent) alternatif - about:support - general.useragent.override
Firefox - Spécifier un agent utilisateur (UA – User Agent) alternatif - about:support - general.useragent.override
Substituer un User Agent (UA spoofing) - general.useragent.override - Substituer un User Agent (UA spoofing)

Outils d'investigations pour chercheurs