Soit cet ua :
Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.9.0.11) Gecko/2009063000 Gentoo Firefox/3.0.11
C'est reconnu en tant que Firefox/3.0 sous Linux, très bien.
En revanche, si je change juste la fin (pour ne pas me retrouver avec un message d'erreur ou une sous-version de certains sites comme gmail, par exemple) pour obtenir
Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.9.0.11) Gecko/2009063000 Gentoo Triton/3.0.11
C'est reconnu comme Mozilla/1, ce qui :
1 - est faux puisqu'il s'agit de Mozilla/5.0 avec le moteur Gecko/1.9
2 - est réducteur, très réducteur
La forme de l'ua est la suivante pour les dérivés :
Mozilla/5.0 ([Système]; [sécurité] = U; [architecture]; [locale]; rv: [révision.du.moteur]) [moteur] = Gecko/[date_de_build] [Nom]/[version]
Ma proposition est la suivante : prendre la fin de la chaîne pour chopper le nom et la version s'il y a la chaîne Gecko/date.
De cette manière, on reconnaît toujours correctement Firefox mais aussi
- Netscape
- Iceweasel
- Shiretoko
- Autres dérivés
- Légers changements d'ua sans /nick (utile pour les tribunes qui bouffent les cookies comme @finss)
Comments
Comment #1
SeeSchloss commentedShould work better now :)
Comment #3
EnigmaTriton commentedJe répète, l'utilisation de [version] tel que décrit lors de la première ouverture du bug devrait rendre les choses plus faciles, plus propres, plus mieux, quoi...
Comment #4
SeeSchloss commentedNon mais c'est vrai, là c'est fait, mais les UA peuvent aussi avoir autre chose après le Shiretoko/3.5: normalement je prends le string et la version qui suivent immédiatement le Gecko/234567