16

Eh bien, j'ai travaillé sur une protection de session partagée basée sur l'agent utilisateur entre les sous-domaines.IE 11 envoie différents en-têtes User-Agent à différents sous-domaines

J'ai été extrêmement surpris que ça fonctionne bien jusqu'à ce que IE 11 preview soit sorti récemment. Il y a 2 sous-domaines

example.com et sub.example.com

J'ai interceptai demandes aux deux domaines et il semble que HTTP User-Agent en-tête envoyé à chaque domaine est différent.

Demande de example.com a:

User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv: 11.0) comme Gecko

Demande de sub.example.com a:

User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727, .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Centre PC 6.0; .NET4.0C; .NET4.0E; BRI/1; MS-RTC LM 8; rv: 11.0) comme Gecko

Avez-vous une idée de la raison de ce comportement dynamique étrange?

Répondre

17

Microsoft a configuré le site en question pour utiliser l'usurpation d'accès UA (via la liste Affichage de compatibilité) et qui oblige IE à envoyer une chaîne UA personnalisée.

usurpation d'identité UA basée CompatView-a été activé dans IE8 en 2008: http://blogs.msdn.com/b/ie/archive/2008/08/27/introducing-compatibility-view.aspx

Et dans IE10 +, il est plus riche obtenu, avec l'usurpation d'identité par site pour permettre la meilleure expérience. Voir http://blogs.msdn.com/b/ieinternals/archive/2013/09/21/internet-explorer-11-user-agent-string-ua-string-sniffing-compatibility-with-gecko-webkit.aspx pour une exploration de ce sujet.

+0

Salut Eric et merci pour la réponse. Je ne suis pas entièrement convaincu mais cela pourrait en être la raison. Je vais vérifier si je peux désactiver cela – WooDzu

+1

@EricLaw: C'était ma première réaction aussi, mais notez qu'il envoie le même numéro de version aux deux serveurs. Ces deux UA sont 'RV: 11.0'; ni "l'ancienne chaîne utilisateur-agent IE7". – RichieHindle

+0

Dans IE11, la fonctionnalité Liste de compatibilité a été enrichie et permet des hacks de compatation par site. Par exemple, si vous regardez la chaîne UA lors du chargement de go.microsoft.com, la chaîne UA est "Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; rv: 11.0) comme Gecko/20100101 Firefox/12.0 " – EricLaw

7

officiel Microsoft Documentation sur MSDN:

Citations:

Pour de nombreux sites Web existants, quelques-unes des mises à jour les plus visibles pour IE11 impliquent la chaîne d'utilisateur-agent. Voici ce qui est rapporté pour IE11 sur Windows 8.1:

Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko 

est ici la chaîne pour IE11 sur Windows 7:

Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko 

Dans de rares cas, il peut être nécessaire de identifier de manière unique IE11.Utilisez le jeton Trident pour le faire.

N'est-ce pas agréable, ils disent "comme Gecko"? ;)

Questions connexes