在一些项目当中,由于牵扯到一些插件的使用,可能指定的浏览器是IE,而默认的浏览器的安全级别是较高的,好比对于未标记为安全的ActiveX控件是禁用的,因此这时须要用户本身去设置IE的受信站点及自定义级别等,这对用户来讲显然是不友好的,这些设置对用户来讲应该是透明的。因此,要么咱们作一个程序让用户一次性的执行,要么干脆自动执行设置,而这些咱们都可以经过修改注册表的方式来实现。编程
一、将注册表项整理成一个注册表文件,而后用户自行导入。咱们能够将注册表文件和插件文件放到一块儿做为辅助程序供用户安装。下面说一些经常使用的设置:小程序
Internet Explorer 安全区域设置存储在以***册表子项下面:跨域
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings浏览器
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings安全
这些注册表项包含如下项:服务器
TemplatePoliciescookie
ZoneMap框架
Zoneside
注意:默认状况下,安全区域设置存储在字体
HKEY_CURRENT_USER
注册表项子树中。由于该子树是为每一个用户动态加载的,因此一个用户的设置不会影响另外一个用户的设置。
TemplatePolicies
项肯定默认安全区域级别的设置。这些级别包括低、中低、中和高。能够更改默认设置中的安全级别设置。可是,不能添加更多安全级别。项中包含的值决定了安全区域的设置。每项均包含一个描述字符串值和一个显示名称字符串值,它们决定了每一个安全级别的安全选项卡上显示的文本。
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
二、经过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>