2010-02-03 1 views
2

Pour la chaîne de l'agent utilisateurY a-t-il un bogue dans l'interprétation User-Agent d'ASP.NET pour les versions personnalisées de Firefox?

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.2) Gecko/20100115 Firefox/3.6 (.NET CLR 3.5.30729) 

HttpContext.Current.Request.Browser.MajorVersion retours 3 et HttpContext.Current.Request.Browser.MinorVersion retours 5. Jusqu'ici tout va bien.

Cependant pour cette chaîne d'agent utilisateur (vu dans la nature par un de mes utilisateurs)

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2) Gecko/20100115 (CK-Finbu.com) Firefox/3.6 (.NET CLR 3.5.30729) 

HttpContext.Current.Request.Browser.MajorVersion de retour 1 et HttpContext.Current.Request.Browser.MinorVersion retours 9. Il semble qu'ASP.NET a récupéré les numéros des informations de l'étiquette CVS plutôt que la version du navigateur. Cela signifie-t-il que l'analyse de l'agent utilisateur ASP.NET est interrompue?

+0

Je voulais marquer c'est-select-cassé, mais je ne pouvais Comme je n'ai pas assez de rep :-( –

Répondre

1

Semble que vous devrez tordre votre fichier mozilla.browser (dans le dossier %windir%\Microsoft.NET\Framework\v2.0.50727\CONFIG\Browsers\).

Vers la ligne 188, vous verrez ceci (au regex navigateur Firefox):

"Gecko\/\d+ Firefox\/(?'version'(?'major'\d+)(?'minor'\.[.\d]*))" 

devrait être

"Gecko\/\d+(?: \S+)? Firefox\/(?'version'(?'major'\d+)(?'minor'\.[.\d]*))" 
+0

Alors SELECT est cassé Mon collègue a cette chaîne d'agent utilisateur, qui ressemble à la chaîne standard pour Firefox sur Ubuntu.Elle ne correspondra pas non plus à cette regex Mozilla /5.0 (X11; U; Linux i686; fr-FR; rv: 1.9.1.7) Gecko/20100106 Ubuntu/9.10 (karmique) Firefox/3.5.7 –

+0

Mozilla a un document à ce sujet: https://developer.mozilla.org/User_Agent_Strings_Reference; selon ce document, cet UA est faux –

Questions connexes