Plan de site Navigation
Blog & Blues Techniques et Standards de la Qualité Web

Accueil > weblog


- Lire le billet précédent - Lire le billet suivant -

Opera, la légende du navigateur fantôme ? (mise à jour : le fichier ua.ini)

Par Laurent Denis, le 15 mars 2005.

Pour répondre à la fâcheuse habitude de certains webmestres de discriminer l'accès à leur site ou le contenu délivré selon l'identification du navigateur, Opera a acquis de longue date l'habitude tout aussi fâcheuse de se faire passer, au choix, pour ce qu'il est ou pour ce qu'il n'est pas : Opera, Internet Explorer ou Mozilla.

Du moins est-ce ce que l'on raconte, parfois un peu hâtivement.

Comment Opera s"identifie-t-il ?

Depuis longtemps, Opera offre dans son menu Préférences rapides, le choix entre :

  • S'identifier comme Opera ;
  • S'identifier comme Mozilla (option unique à partir de la bêta 8.0, différentes sous-options auparavant : Mozilla 5.0, Mozilla 4.78 et Mozilla 3.0) ;
  • S'identifier comme Internet Explorer (option activée par défaut).

Le choix de l'une ou l'autre de ces options correspond en effet à plusieurs chaînes HTTP useragent distinctes :

  • Opera/X.Y (OS; U) [la] ;
  • Mozilla/5.0 (OS; U) Opera X.Y [la] ;
  • Mozilla/4.78 (OS; U) Opera X.Y [la] ;
  • Mozilla/3.0 (OS; U) Opera X.Y [la] ;
  • Mozilla/4.0 (compatible; MSIE 6.0; OS) Opera X.Y [la].

Où :

  • X.Y désigne la version d'Opera (7.54, 8.0, etc.) ;
  • OS désigne le système d'exploitation (Windows NT 5.0, etc.) ;
  • la désigne la langue de l'interface (fr, en, etc.).

Le point essentiel ici est que, dans tous les cas, il reste possible d'identifier Opera à coup sûr, puisque son nom et sa version sont systématiquement présent dans l'useragent.

Bien-sûr, ceci ne doit pas encourager à faire de la négociation de contenu basée sur l'identification du navigateur (elle doit plutôt être basée sur un test de support de la fonctionnalité requise). Mais cela permet de clarifier un point longtemps confus : la supposée sous-estimation systématique d'Opera dans les statistiques de fréquentation des sites Web.

Opera et les statistiques : la fin d'un mythe ?

Une vieille antienne voudrait en effet que les statistiques attribuant à Opera une part de marché de l'ordre de quelques pourcents (de 1 à 3% en général) soient faussées par ce mécanisme d'identification trompeuse.

Ceci est sans doute vrai pour certains scripts maison d'analyse de log ou pour certains compteurs bricolés. Mais, comme l'a bien montré David Naylor, la quasi-totalité des compteurs d'audience (anglo-saxons) les plus connus identifient parfaitement Opera, quelque-soit sa chaîne useragent.

Les statistiques limitant la part de marché d'Opera à moins de 3% (au mieux) sont donc sans doute aussi crédibles, ou tout aussi approximatives, que celles concernant les autres navigateurs : il n'a pas de particularité à cet égard.

Mais au fait, pourquoi ce useragent spoofing ?

Opera étant identifiable dans tous les cas, on est en droit de se demander la raison de ce surprenant mécanisme. Il serait en fait justifié par le souci de donner malgré tout accès aux sites ayant recourt à des scripts d'identification assez approximatifs pour être ainsi dupés. D'où également le choix d'Internet Explorer comme pseudo-identité par défaut...

Opera 8.0 changera-t-il la donne ?

[Mise à jour 2005-03-17] Ce qui suit a été modifié pour tenir compte des nouveautés apportées par Opera 8.0 bêta 3.

L'actuelle version bêta 3 d'Opera 8.0 apporte cependant une nouveauté intéressante : il associe des identifications précises à une liste donnée de sites, grâce à un fichier ua.ini situé dans le répertoire profile de l'utilisateur, et mis à jour automatiquement lors de chaque vérification en ligne de la disponibilité d'une nouvelle version du navigateur (au démarrage d'Opera, ou lorsque l'utilisateur utilise le menu Help > Check for new release). Le contenu type de ce fichier est :

Opera Preferences version 2.0
; Do not edit this file while Opera is running
; This file is stored in UTF-8 encoding

[Identity]
www.opera.com=1
example_1.org=2
example_2.org=3
example_3.org=4
exemple_4.org=5
example_5.org=0

où :

  • La valeur 1 force l'identication comme Opera :
    Opera/8.0 (Windows NT 5.1; U; en)
  • La valeur 2 force l'identication comme Mozilla :
    Mozilla/4.78 (Windows NT 5.1; U; en) Opera 8.0
  • La valeur 3 force l'identication comme Internet Explorer :
    Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 8.0
  • La valeur 4 force l'identification comme Firefox et masque totalement Opera :
    Mozilla/4.78 [en] (Windows NT 5.1; U; en; en-US; rv:1.7.5) Gecko/20041110

    (Cette identification peut être utilisée actuellement pour contourner l'identification erronée d'Opera 8.0 par Google Mail. Ajouter à ua.ini la ligne gmail.google.com=4)

  • La valeur 5 force l'identification comme Internet Explorer, et masque totalement Opera :
    HTTP: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en)
  • La valeur 0 rétablit l'identication par défaut spécifiée par ailleurs.

Opera utilisera donc, dans certains cas, des identifiants qui le masqueront totalement.

Du point de vue statistique, ceci n'aura évidemment d'incidence que pour les chiffres concernant les sites en question. Ceci devrait resté limité à très peu de sites, le fichier ua.ini n'étant pas destiné à devenir une liste interminable...

Quoi qu'il en soit, ceci confirme une nouvelle fois à quel point il peut être inutile, inefficace, inefficient, etc. de recourir à un test sur l'identité du navigateur dans le but de lui délivrer un contenu spécifique, supposé adapté : mieux vaut, résolument, s'en tenir à contenu qui ne dépende d'aucune fonctionnalité ou d'aucun format non standard smiley clin d'oeil

Trackbacks

Les trackbacks pour ce billet sont temporairement fermés en raison d'une série d'attaques de spam.

Commentaires

YoGi, le 15 mars 2005

question bête, on fait comment pour identifier un navigateur malgré un user-agent customizé ?

gizmo, le 15 mars 2005

On fait pas. A la limite tu peux présager du navigateur en fonction des capacités qu'il offre (types de compressions accepées, pipelining, etc...) mais rien de plus.

YoGi, le 16 mars 2005

Pourtant, je cite :

"Ceci est sans doute vrai pour certains scripts maison d'analyse de log ou pour certains compteurs bricolés. Mais, comme l'a bien montré David Naylor, la quasi-totalité des compteurs d'audience (anglo-saxons) les plus connus identifient parfaitement Opera, quelque-soit sa chaîne useragent."

Laurent Denis, le 16 mars 2005

YoGi, les user-agent d'Opera conservent tous la mention "Opera" en clair : il suffit donc de chercher cette chaîne spécifique pour l'identifier à coup sûr avec son numéro de version. En revanche, évidemment, les scripts ou les compteurs qui ne le cherchent pas spécifiquement et qui se fient à la première partie de l'useragent - Mozilla/X.Y (blabla) - ne le trouveront pas.

En revanche, avec un véritable user maquillé par un proxy, c'est impossible. Proximotron, par exemple, change par défaut l'useragent en "Space Bison/0.02 [fu] (Win67; X; SK)" smiley clin d'oeil De même, un firewall peut simplement effacer l'useragent, ou le remplacer par des "--------", etc.

Laurent Denis, le 17 mars 2005

Mise à jour (voir le billet ci-dessus) : Opera n'est plus identifiable lorsque le fichier ua.ini est utilisé avec les options 4 (Firefox) et 5 (Internet Explorer)

Philippe Worontzoff, le 18 mars 2005

Je trouve le princippe même du useragent spoofing dérangant, pas pour les statistiques (qui ont bien peu d'importance), mais du point de vue éthique, c'est se faire passer pour ce qu'on n'est pas, d'autant plus maintenant qu'Opera masque maintenant totalement son idantité. C'est régler un problème qui ne devrait pas avoir lieux et par la même caussionner ce problème.

Si un site me refuse l'accès parceque j'ai tel ou tel navigateur, ce site ne mérite pas que je m'y attarde un point c'est tout, d'ailleurs, quels sont les gros sites qui cause ce genre de problème ?
Hotmail : le webmail de microsoft qui limite les possibilités de connection (pas d'IMAP ni même de POP), qui oblige de la sorte à voir ces publicité.
GMail : qui scrute honteusement les conversations des gens "pour leur fournir une publicité adaptée".

Je n'en vois pas d'autre, dans ces deux cas, il y a assez d'alternative et, "comme par hazard", ils font partie des plus douteux dans le domaine concerné. Ce qui confirme ce que je disais, il ne mérite pas qu'on s'y attarde.

Sur ce, je m'en vais vérifier que je n'ai pas remis à demain le paramettrage d'identification d'Opéra comme étant simplement lui-même.

P.S. : Très beau titre, avec référance culturel et tout, mh.

Laurent Denis, le 18 mars 2005

Philippe, surveille le contenu d'ua.ini (il est en principe actualisé à chaque démarrage d'Opera). Pour l'instant, on y trouve :
- www.opera.com , identification forcée comme Opera smiley clin d'oeil
- online.wellsfargo.com=4 , identification forcée comme Firefox. Ce site bancaire est un vieil irréductible à l'interopérabilité, mais il est vraiment utile pour un certain nombre de gens de pouvoir y accéder smiley clin d'oeil

Philippe Worontzoff, le 18 mars 2005

Il m'est difficile de le surveiller avec Opera 7.x...

Mais, prenons l'exemple de ce site bancaire, il serait bien mieux que les utilisateurs proteste auprès de cette banque que de se voiler la face et contourner le problème.

D'un point de vue global, le monde se porterait mieux si on allait au devant des problèmes plutôt que de les contourner pour avoir rapidement une solution efficasse, ça ne fait qu'engendrer des non-dis, des frustrations, des mal-entendut, ...

Je suis un prêcheur convincu de la vérité, l'honnaiteté, la droiture même, je ne peux pas m'empêcher de penser que ce genre de contournement de problème est un problème en soi.

Laurent Denis, le 18 mars 2005

Pour la wellsfargo, je ne sais même plus depuis combien d'années les utilisateurs d'Opera protestent... C'est un site irréductible, on a dit ! :D

Philippe Worontzoff, le 18 mars 2005

Moi, je changerais de banque, c'est tout simplement inadmissible, mais bon, tout le monde n'est pas moi et heureusement. smiley clin d'oeil

Laurent Denis, le 21 mars 2005

Pour les amateurs de UA spoofing, signalons un script user.js pour Opera supposé empêcher la détection via les tests javascript classiques, lorsqu'Opera s'identifie totalement comme Firefox ou IE via ua.ini : my.opera.com/forums/attac...

Laurent Denis, le 08 juillet 2005

Pour les curieux qui voudraient savoir comment évolue la liste des sites de l'UA.INI d'Opera, il suffit... de la télécharger à la source où Opera le fait lui-même smiley clin d'oeil
C'est à dire: xml.opera.com/spoof/ (fichier xml : le navigateur n'affiche rien, mais il faut consulter la source)

Ali Baba, le 01 septembre 2005

Philippe > le site des impôts est-il un exemple plus percutant de l'intérêt de pouvoir se faire passer pour un autre navigateur ? Opera n'est pas géré.

Les commentaires pour ce billet sont temporairement fermés en raison d'une série d'attaques de spam.