Eh bien, je travaille sur une protection de session partagée basée sur l'agent utilisateur entre les sous-domaines.
J'ai été extrêmement surpris que cela fonctionne bien jusqu'à ce que IE 11 aperçu soit sorti récemment. Il y a 2 sous-domaines
example.com et sub.example.com
J'ai intercepté des demandes vers les deux domaines et il semble que l'en-tête HTTP USER-AGENT envoyé à chaque domaine soit différent.
La demande à example.com a:
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv: 11.0) comme Gecko
La demande à 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 Center 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 cet étrange comportement dynamique?
Microsoft a le site en question configuré pour utiliser l'usurpation d'identité UA (via la liste Affichage de compatibilité) et cela provoque IE pour envoyer une chaîne UA personnalisée.
L'usurpation d'identité basée sur CompatView a été activée dans IE8 en 2008: http://blogs.msdn.com/b/ie/archive/2008/08/27/introducing-compatibility-view.aspx
Et dans IE10 +, il est devenu plus riche, avec une usurpation 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.
Documentation officielle de Microsoft sur MSDN:
Citations:
Pour de nombreux sites Web hérités, certaines des mises à jour les plus visibles pour IE11 impliquent la chaîne d'agent utilisateur. Voici ce qui est signalé pour IE11 sur Windows 8.1:
Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko
Voici 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 d'identifier uniquement IE11. Utilisez le jeton Trident pour le faire.
N'est-ce pas sympa, ils disent "comme Gecko"? ;)