16

Vâng, tôi đã thực hiện bảo vệ phiên chia sẻ dựa trên tác nhân người dùng giữa các tên miền phụ.IE 11 gửi tiêu đề Tác nhân người dùng khác nhau đến các tên miền phụ khác nhau

Tôi đã vô cùng ngạc nhiên khi nó hoạt động tốt cho đến khi bản xem trước IE 11 được phát hành gần đây. Có 2 tên miền phụ

example.comsub.example.com

Tôi đã chặn yêu cầu cho cả hai lĩnh vực và có vẻ như User-agent HTTP header được gửi đến từng lĩnh vực là khác nhau.

Yêu cầu example.com có:

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

Yêu cầu sub.example.com có:

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; Phương tiện Trung tâm PC 6.0; .NET4.0C; .NET4.0E; BRI/1; MS-RTC LM 8; rv: 11.0) giống như Gecko

Bạn có biết lý do cho hành vi lạ kỳ lạ này không?

Trả lời

17

Microsoft có trang web được đề cập được định cấu hình để sử dụng tính năng giả mạo UA (thông qua danh sách Chế độ xem tương thích) và nguyên nhân khiến IE gửi một chuỗi UA tùy chỉnh.

CompatView dựa trên UA giả mạo đã được kích hoạt trong IE8 trong năm 2008: http://blogs.msdn.com/b/ie/archive/2008/08/27/introducing-compatibility-view.aspx

Và trong IE10 +, nó nhận được phong phú hơn, với giả mạo cho mỗi trang web để cho phép những kinh nghiệm tốt nhất. Xem http://blogs.msdn.com/b/ieinternals/archive/2013/09/21/internet-explorer-11-user-agent-string-ua-string-sniffing-compatibility-with-gecko-webkit.aspx để khám phá chủ đề này.

+0

Xin chào Eric và cảm ơn câu trả lời. Tôi không hoàn toàn bị thuyết phục nhưng điều này thực sự có thể là lý do. Tôi sẽ kiểm tra xem tôi có thể vô hiệu hóa – WooDzu

+1

@EricLaw: Đó cũng là phản ứng đầu tiên của tôi không, nhưng lưu ý rằng nó gửi cùng một số phiên bản cho cả hai máy chủ. Cả hai UAs đó là 'rv: 11.0'; không phải là "chuỗi tác nhân người dùng IE7 cũ". – RichieHindle

+0

Trong IE11, tính năng Danh sách Chế độ xem tương thích đã được làm phong phú hơn và cho phép tính năng tích hợp nhiều trang web. Ví dụ, nếu bạn nhìn vào chuỗi UA khi tải go.microsoft.com, chuỗi UA là "Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; rv: 11.0) như Gecko/20100101 Firefox/12.0 " – EricLaw

7

Official Microsoft Tài liệu trên MSDN:

Quotes:

Đối với nhiều trang web di sản, một số các thông tin cập nhật dễ thấy nhất cho IE11 liên quan đến việc chuỗi tác nhân người dùng. Dưới đây là những gì đang được báo cáo cho IE11 trên Windows 8.1:

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

Đây là chuỗi cho IE11 trên Windows 7:

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

Trong trường hợp hiếm hoi, nó có thể là cần thiết để xác định duy nhất IE11.Sử dụng mã thông báo Trident để làm như vậy.

Thật tuyệt, họ nói "như Gecko"? ;)

Các vấn đề liên quan