在一些項目當中,由於牽扯到一些插件的使用,可能指定的瀏覽器是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>