Internet Explorer体系结构(13)

  

1.6  联网和区域

IE使用大量的库和Windows API来处理联网、对象下载和安全性基础结构。Windows本身提供了大量界面和服务,IE不需要再重复这些界面和服务;例如,Windows向很多不同应用程序提供了缓存和cookie服务,诸如凭据用户界面之类的API和提升清单提供了与系统安全性基础结构进行交互的机制。

1.6.1  URLMon

URLMon(URL Moniker的缩写)是一个COM库,它采用一种方式包装WinINET库,与IE的操作紧密结合在一起作为一个Web浏览器。URLMon还为可插入协议提供了扩展层,使IE能够使用由WinINET提供支持的协议来请求内容,这些协议不限于HTTP,HTTPS和FTP协议。URLMon还控制“区域”和一般性内容安全性、代码下载和下载管理。

1. 区域与安全性管理器

IE使用安全区域对数据源进行分组,并对这些群组应用不同限制。默认情况下,IE包括5个不同区域:

●       本地计算机:源于本地计算机的页面

●       Intranet:源于本地网络服务器的页面

●       可信站点:明确列为可信的域

●       Internet:源于远程服务器的页面

●       受限:特别列为受限的域

对从每种区域上下文中加载的对象,都赋予针对IE功能的不同权限;例如,在Internet区域可以运行脚本,但在“受限区域”中会阻止其运行。微软已经定义了一些由低至高、代表默认设置的模板。

URLMon通过IInternetSecurityManager公开了精细的安全性管理函数。这个界面允许IE和其他已安装应用程序参与浏览器中所加载内容的信任决定链。如果应用程序注册为安全管理器,则允许这些应用程序查看和修改对一个页面应用的默认URL操作,这些操作来自该页面的适当区域。

2. 可插入协议处理程序

URLMon为应用程序提供了大量方法,可通过注册协议处理程序来处理协议请求。在请求一个URL时,IE检查是否为该URL的协议注册了任何关联;这种关联的形式可能是应用程序,也可能是实现异步可插入协议(APP) API的库。

1.6.2  WinINET

WinINET是用于联网和处理常见Web协议的Windows API。它被广泛应用于HTTP(S)和FTP下载、缓存界面和cookie管理。WinINET还控制了(声名不佳的)index.dat文件——这些文件是存储容器,用于保存缓存的内容、cookie、链接等。

1.7  安全性、信任和隐私体系结构

IE在很多方面都成为针对其平台的攻击目标,而其中的原因则各有不同,争论也很多。从IE退一步来说,终端用户不仅会被那些针对网站发起的更广泛攻击所波及,甚至还会面临通过社会工程和隐藏窥探对其本身发起的攻击。无论是哪一种方式,现代浏览器通常都包含了大量预防此类攻击的安全功能。IE也不例外,提供了内置的安全性体系结构以减少潜在的安全漏洞。

1.7.1  安全性用户界面和反馈机制

安全功能是非常重要的:它们帮助保护用户、数据和系统。在加载潜在的危险内容或者来自可疑来源的内容时,这一点显得尤为重要。而与此同时,这些浏览器的确存在,所以用户可能打开潜在的危险内容和来自可疑来源的内容。非常让人惊讶的是,用户希望能够浏览这些网页!

考虑到这两个相互冲突又非常必要的目标,就出现了安全性用户界面和反馈机制,用于向用户传达浏览过程中的安全隐患信息。这些方法和媒体是不同的,但它们的目标都是描述一个网页、一次下载和一个通信信道的当前状态,使用户知道为什么这些内容可能是危险的,为什么它受到了限制,或者为什么受到了阻止。

1. 信息栏

信息栏(IE团队称之为GoldBar)是在一个存在于IDocHostUIHandler中的用户界面元素,它尝试向用户通告重大的浏览器事件,在某些情况下,要求用户做出信任决定(见图1-21)。

图1-21  ActiveX安装信息栏

信息栏中的文本向用户通知有关该事件的任意必要操作,如果需要执行操作,会提供一个带有决定流的快捷菜单。很多IE功能都使用了信息栏,包括“弹出窗口阻止程序”、XSS筛选器和ActiveX安装程序。

读书导航