随着 IE11 的退役,许多 Windows 用户发现自己无法通过传统的在 IE 中打开网页并检查页面属性的方式来判断一个 URL 属于什么 Security Zone 了。这对于系统管理员和安全分析师来说是一个相当大的不便,因为 Security Zone 是判断 URL 是否安全,以及它们如何与系统的安全策略交互的重要因素。
为了确保数据通信的安全,HTTPS 已广泛应用于互联网,浏览器与服务器之间的 HTTPS 通信都是加密的。然而当浏览器需要通过代理服务器发起 HTTPS 请求时,由于请求的站点地址和端口号都是加密保存于 HTTPS 请求头中的,代理服务器是如何既确保通信是加密的(代理服务器自身也无法读取通信内容)又知道该往哪里发送请求呢?为了解决这个问题,浏览器需要先通过明文 HTTP 形式向代理服务器发送一个 CONNECT 请求告诉它目标站点地址及端口号。当代理服务器收到这个请求后,会在对应的端口上与目标站点建立一个 TCP 连接,连接建立成功后返回一个 HTTP 200 状态码告诉浏览器与该站点的加密通道已建成。接下来代理服务器仅仅是来回传输浏览器与该服务器之间的加密数据包,代理服务器并不需要解析这些内容以保证 HTTPS 的安全性。
升级至 IE11 后网页布局破坏最常见的原因是:IE11 使用了较新的文档模式来渲染页面。但有时候会发现一个页面即使使用了相同的文档模式,IE11 中显示的布局仍然被破坏了,这可能是由于 IE11 使用了一种全新的字体渲染模式:natural metrics
,在 IE11 之前 IE 都是使用传统的gdi metrics
。
在 IE11 中,仅仅使用兼容性视图可能无法解决所有兼容性问题。2014 年 4 月的 IE11 累积更新首次引入了企业模式。起初企业模式旨在模拟 IE7、IE8 浏览器行为以兼容更多的老旧站点,之后的更新中企业模式允许针对某个站点指定使用特定的文档模式(5~11)。所以为了使用到功能最全面的企业模式,请先将 IE11 更新至最新版本:KB4018271。
兼容性视图是 IE 最常用的向下兼容方案,它可以通过兼容性视图设置、组策略、本地 Intranet 站点来实现。巧妙地利用这些配置可以控制不同的子域名有些在兼容性视图中显示,有些在默认模式中显示。
浏览器模式决定了 Internet Explorer 发出请求时自带的 User-Agent,也决定了在默认情况下 Internet Explorer 使用哪一种文档模式来渲染页面。这篇文章就来梳理一下它们的关系。
最近在 IE11 中遇到网页不工作并报错: “SEC7111: HTTPS 安全受到(null)的威胁” 的问题。调试后发现这是由于在 HTTPS 页面调用 document.write()
方法所导致。
最近我在往博客文章中添加评论功能后,发现使用 IE 访问某一篇文章的页面总是弹出警告:“Internet Explorer 已对此页面进行了修改,以帮助阻止跨站点脚本”。通过 Fiddler 不断调试和测试,发现是因为这篇文章的标题以 JavaScript:
开头,然后触发 IE 的 XSS 筛选器认为这是一个跨站点脚本攻击。其实文章标题中并不含有任何 JavaScript 脚本语句,只不过是以 JavaScript:
为开头,却最终导致 XSS 筛选器误判一个正常的页面。
自 2016 年 1 月 12 日起,Windows 7 上的旧版本 IE 浏览器(8~10)将停止支持。越来越多的企业和个人用户选择升级至最新的 Internet Explorer 11,对于个人用户,升级 IE11 只需点几下鼠标。然而对于企业 IT 管理员,升级成百上千台计算机的 IE 并且确保成功,那可能就没那么容易了。