1. 程式人生 > 程式設計 >JavaScript修改登錄檔例項程式碼

JavaScript修改登錄檔例項程式碼

登錄檔有關安全設定項的說明:

登錄檔路徑:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones

1. Zones 項包含表示為計算機定義的每個安全區域的項。預設情況下,定義以下 5個區域(編號從 0 到 4):

值 設定

------------------------------

0 我的電腦

1 本地 Intranet 區域

2 受信任的站點區域

3 Internet 區域

4 受限制的站點區域

注意:預設情況下,“我的電腦”不會出現在“安全”選項卡的“區域”框中。

其中的每項都包含以下DWORD值,用於表示自定義“安全”選項卡上的相應設定。

注意:除非另外宣告,否則每個DWORD值等於0、1或3。通常,設定為0則將具體操作設定為允許;設定為1則導致出現提示;設定為 3則禁止執行具體操作。

2. 值設定說明:

值 設定
-----------------------------------------------------------------------
1001 下載已簽名的ActiveX控制元件
1004 下載未簽名的 ActiveX控制元件
1200 執行ActiveX控制元件和外掛
1201 對沒有標記為安全的ActiveX控制元件進行初始化和指令碼執行

1206 允許Internet Explorer Webbrowser控制元件的指令碼
1400 活動指令碼
1402 Java小程式指令碼
1405 對標記為可安全執行指令碼的ActiveX控制元件執行指令碼
1406 通過域訪問資料資源
1407 允許通過指令碼進行貼上操作
1601 提交非加密表單資料
1604 字型下載
1605 執行Java
1606 持續使用使用者資料
1607 跨域瀏覽子框架
1608 允許 REFRESH *
1609 顯示混合內容 *
1800 桌面專案的安裝
1802 拖放或複製和貼上檔案
1803 檔案下載
1804 在 中載入程式和檔案
1805 在 Web檢視中載入程式和檔案
1806 載入應用程式和不安全檔案
1807 保留 **
1808 保留 **
1809 使用彈出視窗阻止程式 **
1A00 登入
1A02 允許持續使用儲存在計算機上的 Cookie
1A03 允許使用每個會話的 Cookie(未儲存)
1A04 沒有證書或只有一個證書時不提示選擇客戶證書 *
1A05 允許持續使用第三方 Cookie *
1A06 允許使用第三方會話 Cookie *
1A10 隱私設定 *
1C00 Java許可權
1E05 軟體頻道許可權

1F00 保留 **

2000 二進位制和指令碼行為
2001 執行已用 Authenticode 簽名的 .NET 元件
2004 執行未用 Authenticode 簽名的 .NET 元件
2100 基於內容開啟檔案,而不是基於副檔名 **
2101 在低特權 Web 內容區域中的網站可以導航到此區域 **
2102 允許由指令碼初始化的視窗,沒有大小和位置限制 **
2200 檔案下載自動提示 **
2201 ActiveX 控制元件自動提示 **
2300 允許網頁為活動內容使用受限制的協議 **
{AEBA21FA-782A-4A90-978D-B72164C80120} 第一方 Cookie *
{A8A88C49-5EB2-4990-A1A2-0876022C854F} 第三方 Cookie *

* 表示 Internet Explorer 6 或更高版本設定

** 表示 Windows XP Service Pack 2 或更高版本設定

3. IE瀏覽器->屬性->高階裡的"禁止指令碼除錯(其他)"的設定在登錄檔裡的位置 :

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\Disable Debugger (0為啟用,1為禁止)

4. IE瀏覽器->屬性->高階裡的"禁止指令碼除錯(IE)"的設定在登錄檔裡的位置:

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\ Disable DebuggerIE (0為啟用,1為禁止)

5. 修改IE預設安全的級別:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3

將“MinLevel”修改為“10000”(十六進位制),這樣就可以設定為更低的安全級別了

6. 附 修改登錄檔例子:

< language= >
<!-- 
var WshNetwork = new ActiveX ("W .Network");
ComputerName=WshNetwork.ComputerName+"/"+WshNetwork.UserName;
//讀登錄檔中的計算機名
var obj = new ActiveX ("W .Shell");
var path="HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones";//登錄檔關於安全設定路徑
var advance="HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Explorer\\Main";//登錄檔關於高階設定路徑
var forward="http://10.149.4.14:9080/sundun_nn/login.jsp";//修改成功後跳轉到的頁面
var levelPath="HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones";
//把網站新增到受信任站點
var savePath="HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\ZoneMap\\Domains";//新增到受信任站點的登錄檔路徑
var domain="sundun.cn";//域名
var protocol="http";//協議
var qianz="www";//字首
obj.RegWrite(savePath+"\\"+domain,"");
obj.RegWrite(savePath+"\\" + domain + "\\"+qianz,"");
obj.RegWrite(savePath+"\\" + domain + "\\"+qianz+"\\"+protocol,"2","REG_DWORD");
//IE瀏覽器——>工具——>Internet選項——>安全——>本地Intranet——>顯示混合內容
var str0=path+"\\1\\1609";
//alert(obj.RegRead(str0));
if(obj.RegRead(str0)!='0'){//如果已經修改則跳過
    obj.RegWrite(str0,0x00000000,"REG_DWORD");
}
//修改IE預設的安全級別
var levelStr=levelPath+"\\2\\MinLevel";
if(obj.RegRead(levelStr)!='10000'){
    obj.RegWrite(levelStr,"10000");
}
//IE瀏覽器——>工具——>Internet選項——>安全——>受信任的站點——>顯示混合內容a
var str11=path+"\\2\\1609";
if(obj.RegRead(str11)!='0'){
    obj.RegWrite(str11,"REG_DWORD");
}
var str12=path+"\\2\\1001";//下載已簽名的 ActiveX 控制元件
if(obj.RegRead(str12)!='0'){
    obj.RegWrite(str12,"REG_DWORD");
}
var str13=path+"\\2\\1004";//下載未簽名的 ActiveX 控制元件
if(obj.RegRead(str13)!='0'){
    obj.RegWrite(str13,"REG_DWORD");
}
var str14=path+"\\2\\1200";//執行 ActiveX 控制元件和外掛
if(obj.RegRead(str14)!='0'){
    obj.RegWrite(str14,"REG_DWORD");
}
var str15=path+"\\2\\1201";//對沒有標記為安全的 ActiveX 控制元件進行初始化和指令碼執行
if(obj.RegRead(str15)!='0'){
    obj.RegWrite(str15,"REG_DWORD");
}
var str16=path+"\\2\\1405";//對標記為可安全執行指令碼的 ActiveX 控制元件執行指令碼
if(obj.RegRead(str16)!='0'){
    obj.RegWrite(str16,"REG_DWORD");
}
//IE瀏覽器——>工具——>Internet選項——>安全——>Internet——>ActiveX 控制元件自動提示
var str2=path+"\\3\\2201";
if(obj.RegRead(str2)!='0'){
    obj.RegWrite(str2,"REG_DWORD");
}
//IE瀏覽器——>工具——>Internet選項——>安全——>Internet——>對標記為可安全執行指令碼的 ActiveX 控制元件執行指令碼
var str3=path+"\\3\\1405";
if(obj.RegRead(str3)!='0'){
    obj.RegWrite(str3,"REG_DWORD");
}
//IE瀏覽器——>工具——>Internet選項——>安全——>Internet——>顯示混合內容
var str4=path+"\\3\\1609";
if(obj.RegRead(str4)!='0'){
    obj.RegWrite(str4,"REG_DWORD");
}
//IE瀏覽器——>工具——>Internet選項——>高階裡的"禁止指令碼除錯(其他)"
var str5=advance+"\\Disable Debugger";
if(obj.RegRead(str5)!='0'){
    obj.RegWrite(str5,"yes");
}
//IE瀏覽器——>工具——>Internet選項——>高階裡的"禁止指令碼除錯(IE)"
var str6=advance+"\\Disable DebuggerIE";
if(obj.RegRead(str6)!='0'){
    obj.RegWrite(str6,"yes");
}
//IE瀏覽器——>工具——>Internet選項——>高階裡的"允許活動內容在我的計算機上的檔案執行"
var str7=advance+"\\FeatureControl\\FEATURE_LOCALMACHINE_LOCKDOWN\\iexplore.exe";
if(obj.RegRead(str7)!='0'){
    obj.RegWrite(str7,"REG_DWORD");
}
</ >

例項:

 try{ 
var obj = new ActiveX ("W .Shell");
var path="HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings";//登錄檔關於安全設定路徑
var advance="HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Explorer\\Main";//登錄檔關於高階設定路徑
var levelPath="HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones";
var zspath="HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\WinTrust\\Trust Providers\\Software Publishing";
//下載已簽名的 ActiveX 控制元件
var str1=path+"\\Zones\\3\\1001";
if(obj.RegRead(str1)!='0'){
 obj.RegWrite(str1,"REG_DWORD");
 alert("下載已簽名的 ActiveX 控制元件");
}
//IE瀏覽器——>工具——>Internet選項——>安全——>Internet——>ActiveX 控制元件自動提示
var str2=path+"\\Zones\\3\\2201";
if(obj.RegRead(str2)!='0'){
 obj.RegWrite(str2,"REG_DWORD");
 alert("ActiveX 控制元件自動提示");
}
//IE瀏覽器——>工具——>Internet選項——>安全——>Internet——>對標記為可安全執行指令碼的 ActiveX 控制元件執行指令碼
var str3=path+"\\Zones\\3\\1405";
if(obj.RegRead(str3)!='0'){
 obj.RegWrite(str3,"REG_DWORD");
 alert("對標記為可安全執行指令碼的 ActiveX 控制元件執行指令碼");
}
//IE瀏覽器——>工具——>Internet選項——>安全——>Internet——>顯示混合內容
var str4=path+"\\Zones\\3\\1609";
if(obj.RegRead(str4)!='0'){
 obj.RegWrite(str4,"REG_DWORD");
 alert("顯示混合內容");
}
//IE瀏覽器——>工具——>Internet選項——>安全——>Internet——>沒有證書或只有一個證書時不提示選擇客戶證書
var str5=path+"\\Zones\\3\\1A04";
if(obj.RegRead(str5)!='0'){
 obj.RegWrite(str5,"REG_DWORD");
 alert("沒有證書或只有一個證書時不提示選擇客戶證書");
}
//IE瀏覽器——>工具——>Internet選項——>安全——>Internet——>提交非加密表單資料
var str6=path+"\\Zones\\3\\1601";
if(obj.RegRead(str6)!='0'){
 obj.RegWrite(str6,"REG_DWORD");
 alert("提交非加密表單資料");
}
}catch(e){
 alert("請將您瀏覽器Internet選項中的“對沒有標記為安全的ActiveX控制元件進行初始化和指令碼執行”設定為“啟用”!\n\n然後重新整理本頁登陸!"); 
}

總結

以上所述是小編給大家介紹的JavaScript修改登錄檔例項程式碼,希望對大家有所幫助!