16

Cóż, pracowałem nad ochroną dzielonej sesji dzielonej przez użytkownika między agentami.IE 11 wysyła różne nagłówki User-Agent do różnych poddomen

Byłem bardzo zaskoczony, że działa dobrze, dopóki nie wydano niedawno podglądu IE 11. Istnieją 2 subdomeny

example.com i sub.example.com

Mam przechwycone żądania do obu domen i wydaje się, że User-Agent nagłówka HTTP wysyłane do każdej domeny jest inna.

Żądanie example.com posiada:

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

Żądanie sub.example.com posiada:

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

Czy masz pojęcie, co jest przyczyną tego dziwnego dynamicznego zachowania?

Odpowiedz

17

Firma Microsoft ma witrynę, o której mowa, skonfigurowana do używania podszywania się pod UA (za pośrednictwem listy Widok zgodności) i która powoduje, że IE wysyła niestandardowy ciąg znaków UA.

CompatView oparte UA spoofing został włączony IE8 w 2008 roku: http://blogs.msdn.com/b/ie/archive/2008/08/27/introducing-compatibility-view.aspx

A w IE10 +, jest coraz bogatsze, z spoofing na miejscu, aby umożliwić najlepsze doświadczenia. Zobacz http://blogs.msdn.com/b/ieinternals/archive/2013/09/21/internet-explorer-11-user-agent-string-ua-string-sniffing-compatibility-with-gecko-webkit.aspx, aby zapoznać się z tym tematem.

+0

Cześć Eric i dzięki za odpowiedź. Nie jestem do końca przekonany, ale to rzeczywiście może być powód. Sprawdzę, czy mogę wyłączyć tę – WooDzu

+1

@EricLaw: To była moja pierwsza reakcja, ale zauważ, że wysyła ona ten sam numer wersji do obu serwerów. Obie te UA to 'rv: 11.0'; nie jest też "starszym ciągiem agenta użytkownika IE7". – RichieHindle

+0

W IE11 funkcja listy widoku zgodności została wzbogacona i umożliwia hakowanie na stronę. Na przykład jeśli przyjrzeć się ciągowi UA podczas ładowania strony go.microsoft.com, ciąg znaków UA to "Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; rv: 11.0), taki jak Gecko/20100101 Firefox/12.0 " – EricLaw

7

Dziennik Microsoft Dokumentacja na MSDN:

Cytaty:

Dla wielu stronach internetowych starszych, niektóre z najbardziej widocznych aktualizacje dla IE11 uczestniczyć będzie ciąg znaków użytkownika. Oto, co podano na IE11 na Windows 8.1:

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

Oto ciąg dla IE11 na Windows 7:

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

W rzadkich przypadkach może być konieczne jednoznacznie identyfikuje IE11.Użyj znacznika Trident, aby to zrobić.

Czy to nie jest miłe, mówią "jak Gecko"? ;)