首页 > Python基础教程 >
-
C#教程之Internet Explorer 安全区域注册表项说明
引用网址:http://support.microsoft.com/kb/182569/zh-cn
Internet Explorer 安全区域设置存储在以下注册表子项下面:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings
这些注册表项包含以下项:
- TemplatePolicies
- ZoneMap
- Zones
注意:默认情况下,安全区域设置存储在 HKEY_CURRENT_USER 注册表项子树中。因为该子树是为每个用户动态加载的,所以一个用户的设置不会影响另一个用户的设置。
如果在组策略中启用了“安全区域:仅使用计算机设置”;或者 Security_HKLM_only DWORD 值存在,并在以下注册表子项中的值为 1,则只使用本地计算机设置,并且所有用户都具有相同的安全设置:
在启用 Security_HKLM_only 策略的情况下,Internet Explorer 将使用 HKLM 值,而 HKCU 值仍会显示在 Internet Explorer 中“安全”选项卡上的区域设置中。在 Internet Explorer 7 中,“Internet 选项”对话框的“安全”选项卡显示以下消息,表示这些设置由系统管理员管理:
如果在组策略中启用了“安全区域:仅使用计算机设置”;或者 Security_HKLM_only DWORD 值不存在或被设置为 0,则同时使用计算机设置和用户设置。不过,“Internet 选项”中只显示用户设置。例如,当此 DWORD 值不存在或设置为 0 时,将同时读取 HKEY_LOCAL_MACHINE 设置和 HKEY_CURRENT_USER 设置,但“Internet 选项”中仅显示 HKEY_CURRENT_USER 设置。
TemplatePolicies
TemplatePolicies 项确定默认安全区域级别的设置。这些级别包括低、中低、中和高。可以更改默认设置中的安全级别设置。但是,不能添加更多安全级别。项中包含的值决定了安全区域的设置。每项均包含一个描述字符串值和一个显示名称字符串值,它们决定了每个安全级别的安全选项卡上显示的文本。
ZoneMap
ZoneMap 项包含以下项:
- Domains
- EscDomains
- ProtocolDefaults
- Ranges
Domains 项包含为更改其默认行为而添加的域和协议。在添加域的同时,还会为 Domains 项添加一个项。子域作为项出现在它们所属的域下面。列出域的每个项都包含一个 DWORD 值,其中含有受影响协议的值名称。DWORD 值与域添加到的安全区域的数值相同。
EscDomains 项与 Domains 项类似,只是 EscDomains 项适用于那些受增强的安全配置 (ESC) 影响的协议。ESC 是在 Microsoft Windows Server 2003 中引入的。
ProtocolDefaults 项指定用于特定协议(ftp、http、https)的默认安全区域。若要更改默认设置,可单击“安全”选项卡上的“添加站点”将协议添加到安全区域中,或者在 Domains 项下面添加一个 DWORD 值。DWORD 值的名称必须与协议名称匹配,而且不能包含任何冒号 (:) 或斜杠 (/)。
ProtocolDefaults 项还包含指定使用协议的默认安全区域的 DWORD 值。无法使用“安全”选项卡上的控件来更改这些值。如果特定 Web 站点没有在安全区域中,请使用该设置。
Ranges 项包含 TCP/IP 地址的范围。指定的每个 TCP/IP 范围出现在一个任意命名的项中。该项包含一个:Range 字符串值,其中包含指定的 TCP/IP 范围。对于每个协议,都会添加一个 DWORD 值,它包含指定 IP 范围的安全区域的数值。
当 Urlmon.dll 文件使用 MapUrlToZone 公共函数将特定 URL 解析为安全区域时,它使用以下方法之一:
-
如果 URL 包含完全限定的域名 (FQDN),则处理 Domains 项。
在此方法中,精确的站点匹配取代随机匹配。 -
如果 URL 包含 IP 地址,则处理 Ranges 项。将 URL 的 IP 地址与 :Range 值进行比较,该值包含在 Ranges 项下面的任意命名的项中。
注意:由于任意命名的项按添加到注册表中的顺序进行处理,因此,此方法在找到精确匹配前可能会找到随机匹配。如果此方法首先找到了一个随机匹配,则可能在另一个安全区域中执行 URL,而不是在其通常被分配到的那个安全区域中执行。 这种现象是设计使然。
Zones
注意:为了提高安全性,从 Windows XP SP2 开始,“本地计算机区域”默认是锁定的。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
有关更多信息,请访问下面的 Microsoft 网站:
Zones 项包含表示为计算机定义的每个安全区域的项。默认情况下,定义以下 5 个区域(编号从 0 到 4):
值 设置 ------------------------------ 0 我的电脑 1 本地 Intranet 区域 2 受信任的站点区域 3 Internet 区域 4 受限制的站点区域
注意:默认情况下,“我的电脑”不会出现在“安全”选项卡的“区域”框中。
其中的每项都包含以下 DWORD 值,用于表示自定义“安全”选项卡上的相应设置。
注意:除非另外声明,否则每个 DWORD 值等于 0、1 或 3。通常,设置为 0 则将具体操作设置为允许;设置为 1 则导致出现提示;设置为 3 则禁止执行具体操作。
值 设置 ---------------------------------------------------------------------------------- 1001 ActiveX 控件和插件:下载已签署的 ActiveX 控件 1004 ActiveX 控件和插件:下载未签署的 ActiveX 控件 1200 ActiveX 控件和插件:运行 ActiveX 控件和插件 1201 ActiveX 控件和插件:对没有标记为可安全执行脚本的 ActiveX 控件进行初始化和脚本运行 1206 其他:允许 Internet Explorer Web 浏览器控件的脚本编写 ^ 1207 保留 # 1208 ActiveX 控件和插件:允许以前未使用的 ActiveX 控件在没有提示的情况下运行 ^ 1209 ActiveX 控件和插件:允许脚本小程序 120A ActiveX 控件和插件:ActiveX 控件和插件:覆盖每站点(基于域)ActiveX 限制 120B ActiveX 控件和插件:覆盖每站点(基于域)ActiveX 限制 1400 脚本编写:活动脚本编写 1402 脚本编写:Java 小程序脚本编写 1405 ActiveX 控件和插件:对标记为可安全执行脚本的 ActiveX 控件执行脚本 1406 其他:跨域访问数据源 1407 脚本:允许编程剪贴板访问 1408 保留 # 1601 其他:提交未加密的表单数据 1604 下载:字体下载 1605 运行 Java # 1606 其他:用户数据持久性 ^ 1607 其他:跨域浏览子框架 1608 其他:允许 META REFRESH * ^ 1609 其他:显示混合内容 * 160A 其他:在将文件上载到服务器时包括本地目录路径 ^ 1800 其他:桌面项目的安装 1802 其他:拖放或复制和粘贴文件 1803 下载:文件下载 ^ 1804 其他:在 IFRAME 中启动程序和文件 1805 在 Web 视图中启动程序和文件 # 1806 其他:启动应用程序和不安全文件 1807 保留 ** # 1808 保留 ** # 1809 其他:使用弹出窗口阻止程序 ** ^ 180A 保留 # 180B 保留 # 180C 保留 # 180D 保留 # 1A00 用户身份验证:登录 1A02 允许计算机上存储的持久 cookie # 1A03 允许每会话 cookie(未存储) # 1A04 其他:没有证书或只有一个证书时不提示进行客户证书选择 * ^ 1A05 允许第三方持久 cookie * 1A06 允许第三方会话 cookie * 1A10 隐私设置 * 1C00 Java 权限 # 1E05 其他:软件频道权限 1F00 保留 ** # 2000 ActiveX 控件和插件:二进制和脚本行为 2001 依赖 NET Framework 的组件:运行未用 Authenticode 签名的组件 2004 依赖 NET Framework 的组件:运行未用 Authenticode 签名的组件 2100 其他:基于内容打开文件,而不是基于文件扩展名 ** ^ 2101 其他:在低特权 Web 内容区域中的网站可以导航到此区域 ** 2102 其他:允许由脚本初始化的窗口,没有大小和位置限制 ** ^ 2103 脚本:允许通过脚本更新状态栏 ^ 2104 其他:允许网站打开没有地址或状态栏的窗口 ^ 2105 脚本:允许网站使用脚本窗口提示信息 ^ 2200 下载:文件下载自动提示 ** ^ 2201 ActiveX 控件和插件:ActiveX 控件自动提示 ** ^ 2300 其他:允许网页为活动内容使用受限制的协议 ** 2301 其他:使用钓鱼网站筛选器 ^ 2400 .NET Framework:XAML 浏览器应用程序 2401 .NET Framework:XPS 文档 2402 .NET Framework:松散 XAML 2500 打开保护模式 [仅 Vista 设置] # 2600 启用 .NET Framework 设置 ^ {AEBA21FA-782A-4A90-978D-B72164C80120} 第一方 Cookie * {A8A88C49-5EB2-4990-A1A2-0876022C854F} 第三方 Cookie * * 表示 Internet Explorer 6 或更高版本设置 ** 表示 Windows XP Service Pack 2 或更高版本设置 # 表示未在 Internet Explorer 7 的用户界面中显示的设置 ^ 表示只有“已启用”或“已禁用”两个选项的设置
关于 1200、1A00、1A10、1E05、1C00 和 2000 的说明
以下两个注册表项影响是否可以在特定区域中运行 ActiveX 控件:
- 1200 此注册表项影响是否可以运行 ActiveX 控件或插件。
- 2000 此注册表项控制 ActiveX 控件或插件的二进制行为和脚本行为。
关于 1A02、1A03、1A05 和 1A06 的说明
以下四个注册表项仅当以下项存在时才生效:
- {AEBA21FA-782A-4A90-978D-B72164C80120} 第一方 Cookie *
- {A8A88C49-5EB2-4990-A1A2-0876022C854F} 第三方 Cookie *
注册表项
- 1A02 允许在计算机上存储的持久 cookie #
- 1A03 允许每会话 cookie(未存储)#
- 1A05 允许第三方持久 cookie *
- 1A06 允许第三方会话 cookie *
这些注册表项位于以下注册表子项中:
在此注册表子项中,<ZoneNumber> 是诸如 0(零)之类的区域。1200 注册表项和 2000 注册表项均包含一个名为管理员认可的设置。当启用了此设置时,特定注册表项的值会被设置为 00010000。当启用管理员认可设置时,Windows 会检查以下注册表子项以查找认可的控件列表:
登录设置 (1A00) 可以使用以下任一值(十六进制):
值 设置 --------------------------------------------------------------- 0x00000000 自动使用当前用户名和密码登录 0x00010000 用户名和密码提示 0x00020000 只在 Intranet 区域自动登录 0x00030000 匿名登录
隐私设置 (1A10) 由“隐私”选项卡滑块使用。DWORD 值如下:
高: 00000001
中高: 00000001
中: 00000001
低: 00000001
接受所有 Cookie:00000000
它还会根据滑块中的设置,修改 {A8A88C49-5EB2-4990-A1A2-0876022C854F} 和/或 {AEBA21Fa-782A-4A90-978D-B72164C80120} 中的值。
软件频道权限 (1E05) 具有三个不同的值:高、低和中安全度。对应的值是:
中: 00020000
低:00030000
Java 权限设置 (1C00) 具有以下五个可能的值(二进制):
值 设置 ----------------------- 00 00 00 00 禁用 Java 00 00 01 00 安全度 - 高 00 00 02 00 安全度 - 中 00 00 03 00 安全度 - 低 00 00 80 00 自定义
如果选择“自定义”,它使用 {7839DA25-F5FE-11D0-883B-0080C726DCBB}(位于同一注册表位置)在二进制文件中存储自定义信息。
每个安全区域都包含描述字符串值和显示名称字符串值。在“区域”框中单击某个区域时,这些值的文本将出现在“安全”选项卡上。还有一个“图标”字符串值,用于设置为每个区域显示的图标。除了“我的电脑”区域外,每个区域都包含 CurrentLevel、MinLevel 和 RecommendedLevel DWORD 值。MinLevel 值设置在出现警告消息前可以使用的最低设置;CurrentLevel 是区域的当前设置;RecommendedLevel 是区域的建议级别。
Minlevel、RecommendedLevel 和 CurrentLevel 值的含义如下:
值(十六进制) 设置 ---------------------------------- 0x00010000 安全度 - 低 0x00010500 安全度 - 中低 0x00011000 安全度 -中 0x00012000 安全度 - 高
Flags DWORD 值决定用户能否修改安全区域的属性。若要确定 Flags 值,请将相应设置的数目加在一起。可以使用以下 Flags 值(十进制):
值 设置 ------------------------------------------------------------------ 1 允许更改自定义设置 2 允许用户向该区域中添加网站 4 需要经过验证的网站(https 协议) 8 包括绕过代理服务器的网站 16 包括在其他区域中没有列出的网站 32 不在 Internet 属性中显示安全区域(“我的电脑” 的默认设置) 64 显示“要求服务器验证”对话框 128 将通用命名连接 (UNC) 看作 Intranet 连接
如果向 HKEY_LOCAL_MACHINE 和 HKEY_CURRENT_USER 子树中添加设置,则这些设置是相加的。如果向两个子树中添加网站,则只能看到 HKEY_CURRENT_USER 中的那些网站。HKEY_LOCAL_MACHINE 子树中的网站仍按照它们的设置执行。但是,它们是不可用的,也无法对其进行修改。由于网站只能在每个协议的一个安全区域中列出,这可能会造成混淆。