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

Web前端 专栏收录该内容
3 篇文章 0 订阅

在一些项目当中,因为牵扯到一些插件的使用,可能指定的浏览器是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

 

2、通过JS设置,要自行判断是否已经修改过了,省得每次都执行设置,注册表的含义在上面的部分中已经说明了。

js代码如下,只是示例代码,需要什么设置请自行配置:

 

<SCRIPT LANGUAGE="JavaScript">

<!--

var WshShell=new ActiveXObject("WScript.Shell");

//添加信任站点ip

WshShell.RegWrite("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\ZoneMap\\Ranges\\Range100\\","");

WshShell.RegWrite("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\ZoneMap\\Ranges\\Range100\\http","2","REG_DWORD");

WshShell.RegWrite("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\ZoneMap\\Ranges\\Range100\\:Range","192.168.0.1");

WshShell.RegWrite("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\ZoneMap\\Ranges\\Range101\\","");

WshShell.RegWrite("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\ZoneMap\\Ranges\\Range101\\http","2","REG_DWORD");

WshShell.RegWrite("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\ZoneMap\\Ranges\\Range101\\:Range","192.168.0.2");

//修改IE ActiveX安全设置

WshShell.RegWrite("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\3\\1001","0","REG_DWORD");

WshShell.RegWrite("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\3\\1004","0","REG_DWORD");

WshShell.RegWrite("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\3\\1200","0","REG_DWORD");

WshShell.RegWrite("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\3\\1201","0","REG_DWORD");

WshShell.RegWrite("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\3\\1405","0","REG_DWORD");

WshShell.RegWrite("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\3\\2201","0","REG_DWORD");

//禁用xinxp弹出窗口阻止程序

WshShell.RegWrite("HKCU\\Software\\Microsoft\\Internet Explorer\\New Windows\\PopupMgr","no");

alert("active控件安全设置,弹出窗口设置,信任站点设置成功");

//-->

</SCRIPT>
 

 

 

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

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    评论
  • 4
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值