Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

IE 11 sends different User-Agent header to different subdomains

Well, I've been working on an User-Agent based shared-session protection between subdomains.

I was extremely surprised that it's been working well until IE 11 preview was released recently. There are 2 subdomains

example.com and sub.example.com

I've intercepted requests to both domains and it seems that USER-AGENT HTTP Header being sent to each domain is different.

Request to example.com has:

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

Request to sub.example.com has:

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) like Gecko

Do you have any idea what is the reason for this strange dynamic behavior?

like image 886
WooDzu Avatar asked Aug 01 '13 22:08

WooDzu


People also ask

Can user agents be the same?

If a different person on the Internet with the same configuration accesses your website, then their user agent will be the same.

How do I change user agent in ie11?

Microsoft Edge and Internet Explorer To open them, click the settings menu and select “F12 Developer Tools” or just press F12 on your keyboard. The developer tools will open in a separate pane at the bottom of the window. Click the “Emulation” tab and choose a user agent from the “User agent string” box.

Is user agent part of HTTP header?

When your browser is connected to a website, a User-Agent field is included in the HTTP header. The data of the header field varies from browser to browser. This information is used to serve different websites to different web browsers and different operating systems.


2 Answers

Microsoft has the site in question configured to use UA-spoofing (via the Compatibility View list) and that causes IE to send a custom UA string.

CompatView-based UA spoofing was enabled in IE8 in 2008: http://blogs.msdn.com/b/ie/archive/2008/08/27/introducing-compatibility-view.aspx

And in IE10+, it's gotten richer, with per-site spoofing to enable the best experience. See http://blogs.msdn.com/b/ieinternals/archive/2013/09/21/internet-explorer-11-user-agent-string-ua-string-sniffing-compatibility-with-gecko-webkit.aspx for an exploration of this topic.

like image 122
EricLaw Avatar answered Sep 21 '22 00:09

EricLaw


Official Microsoft Documentation on MSDN:

  • Compatibility changes in IE11
  • User-agent string changes

Quotes:

For many legacy websites, some of the most visible updates for IE11 involve the user-agent string. Here's what's reported for IE11 on Windows 8.1:

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

Here's the string for IE11 on Windows 7:

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

In rare cases, it may be necessary to uniquely identify IE11. Use the Trident token to do so.

Isn't it nice, they say "like Gecko"? ;)

like image 25
metadings Avatar answered Sep 21 '22 00:09

metadings