论坛首页 Web前端技术论坛

通过注册表修改IE的Internet选项

浏览 8996 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (5) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-07-09  

在一些项目当中,因为牵扯到一些插件的使用,可能指定的浏览器是IE,而默认的浏览器的安全级别是较高的,比如对于未标记为安全的ActiveX控件是禁用的,所以这时需要用户自己去设置IE的受信站点及自定义级别等,这对用户来说显然是不友好的,这些设置对用户来说应该是透明的。所以,要么我们做一个程序让用户一次性的执行,要么干脆自动执行设置,而这些我们均可以通过修改注册表的方式来实现。

 

1、将注册表项整理成一个注册表文件,然后用户自行导入。我们可以将注册表文件和插件文件放到一起作为辅助程序供用户安装。下面说一些常用的设置:

 

Internet Explorer 安全区域设置存储在以下注册表子项下面:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings


HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings

这些注册表项包含以下项:

  • TemplatePolicies
  • ZoneMap
  • Zones

注意:默认情况下,安全区域设置存储在

HKEY_CURRENT_USER

注册表项子树中。因为该子树是为每个用户动态加载的,所以一个用户的设置不会影响另一个用户的设置。

 

 

TemplatePolicies

TemplatePolicies

项确定默认安全区域级别的设置。这些级别包括中低。可以更改默认设置中的安全级别设置。但是,不能添加更多安全级别。项中包含的值决定了安全区域的设置。每项均包含一个描述字符串值和一个显示名称字符串值,它们决定了每个安全级别的安全选项卡上显示的文本。

ZoneMap

ZoneMap

项包含以下项:

  • Domains
  • EscDomains
  • ProtocolDefaults
  • Ranges

这里主要说一下Domains和Ranges。两者都是设置受信站点的,如果是域名地址的话,会出现在Domains中,如:abchina.com、localhost等,当然下面还可以有子项,子项一般是子域或者协议如http和https等。而Ranges下主要记录IP地址,如:http://192.168.1.110.如:

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\xxx.net]
"https"=dword:00000002
"http"=dword:00000002

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Ranges\Range1]
"http"=dword:00000002
":Range"="192.168.1.110"
 

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 的用户界面中显示的设置 ^  表示只有“已启用”或“已禁用”两个选项的设置

举例如:

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0]
"1609"=dword:00000000
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\1]
"1609"=dword:00000000
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\2]
"1609"=dword:00000000
"1201"=dword:00000000
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3]
"1609"=dword:00000000
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\4]
"1609"=dword:00000000
 

以上只是讲了一部分比较常用的,拍砖引玉,大家如有高级应用请参考微软帮助和支持,地址:http://support.microsoft.com/kb/182569/zh-cn

 

 

 

 

 

 

 

 

   发表时间:2012-07-09  
这个比较实用,我之前做的一个项目也是用到了很多ActiveX控件,还好他们是内网用,直接做一个系统然后ghost一下,但是如果是网上的就不好弄了。
0 请登录后投票
   发表时间:2012-07-09  
iceblooded 写道
这个比较实用,我之前做的一个项目也是用到了很多ActiveX控件,还好他们是内网用,直接做一个系统然后ghost一下,但是如果是网上的就不好弄了。

是呢,特别是客户对这些一般都不懂,让他们自己去弄,会极大的降低客户体验,只能我们代劳了。
0 请登录后投票
   发表时间:2012-07-11  
这个不错,我之前也碰到过这样的问题

当时怎么没想到这个解决方法

赞一个
0 请登录后投票
   发表时间:2012-07-11  
这种只考虑Windows和IE,缺少跨平台性跨浏览器的做法要少用。
0 请登录后投票
   发表时间:2012-07-11  
mfkvfn 写道
这种只考虑Windows和IE,缺少跨平台性跨浏览器的做法要少用。

阁下说的是,其实我们都想跨浏览器,但那是不可能的,比如一个OA系统,里面会用到在线编辑插件,电子签章插件,这些东西能跨平台跨浏览器吗?跨不跨取决于应用类型及需求。
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics