栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > JavaScript

javascript判断并获取注册表中可信任站点的方法

JavaScript 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

javascript判断并获取注册表中可信任站点的方法

本文实例讲述了javascript判断并获取注册表中可信任站点的方法。分享给大家供大家参考。具体分析如下:

判断可信任站点,首先要在注册表中找到可信任站点在注册表中的位置,如下:

(1)域名作为可信任站点在注册表中的位置:

 HKCU\Software\Microsoft\Windows\CurrentVersion\InternetSettings\ZoneMap\Domains\

(2)IP作为可信任站点在注册表中的位置:

 HKCU\Software\Microsoft\Windows\CurrentVersion\InternetSettings\ZoneMap\Ranges

具体测试代码如下:

index.jsp:





获取并判断可信任站点(域名和IP)

.mainContent{ 
 margin: 0 auto; 
 margin-top: 100px; 
 margin-left: 100px; 
} 





  


js代码:

 
window.onload = function(){ 
  var btnObj = document.getElementById("testRegister"); 
  btnObj.onclick = function(){ 
    if(navigator.userAgent.indexOf("MSIE") == -1){  
      alert("只支持IE浏览器!"); 
      return; 
    } 
    var hostname = window.location.hostname; 
    var WshShell = new ActiveXObject("Wscript.Shell"); 
    //IP的正则表达式 
    var reg = /^(d{1,2}|1dd|2[0-4]d|25[0-5])(.(d{1,2}|1dd|2[0-4]d|25[0-5])){3}$/; 
    //根据域名判断是否存在可信站点 
    if(hostname != "localhost" && !reg.test(hostname)){ 
      var domainSFlag = false,domainEFlag = false,domainSEFlag = false,domainSSEFlag = true; 
      var hostnamePrefix = "",hostnameSuffix = ""; 
      var indexOf = hostname.indexOf("."); 
      if(indexOf != -1){ 
 hostnamePrefix = hostname.substring(0, indexOf); 
 hostnameSuffix = hostname.substring(indexOf+1, hostname.length); 
 try{ 
   WshShell.RegRead("HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\" + hostname + "\http");   
 }catch(e){ 
   domainEFlag = true; 
 } 
 if(domainEFlag){ 
   try{ 
     WshShell.RegRead("HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\" + hostnameSuffix + "\" + hostnamePrefix + "\http");   
   }catch(e){ 
     domainSFlag = true; 
   } 
 } 
 //判断其合法性 
 if(domainEFlag && domainSFlag){ 
   try{ 
     WshShell.RegRead("HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\" + hostnameSuffix + "\" + hostnamePrefix + "\*");   
     var tipInfo = "您加入的可信站点不是合法的可信站点,请以http://开头!"; 
     alert(tipInfo); 
     return; 
   }catch(e){} 
 } 
      }else{ 
 try{ 
   WshShell.RegRead("HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\" + hostname + "\http");   
 }catch(e){ 
   domainSEFlag = true; 
 } 
 //判断其合法性 
 if(domainSEFlag){ 
   try{ 
     WshShell.RegRead("HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\" + hostname + "\*");   
     var tipInfo = "您加入的可信站点不是合法的可信站点,请以http://开头!"; 
     alert(tipInfo); 
     return; 
   }catch(e){} 
 } 
      } 
      if((domainSFlag && domainEFlag) || domainSEFlag){ 
 var tipInfo = "域名为" + hostname + "的可信任站点不存在!"; 
 alert(tipInfo); 
 alert(tipInfo); 
 return; 
      } 
    }else{ 
      //获取可信任站点IP,数字2000没法解释,主要涉及到注册表的问题 
      var str = [];  
      for(var i = 1;i < 2000;i++){  
 try{ 
   str[i] = WshShell.RegRead("HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Ranges\Range" + i + "\:Range"); 
 }catch(e){ 
 } 
      } 
      var count = true; 
      for(var i = 1;i < str.length;i++){  
 if(str[i] == undefined){ 
   continue; 
 }else{ 
   if(str[i] == hostname){ 
     count = false; 
     break; 
   } 
 } 
      } 
      if(count){ 
 var tipInfo = "IP为" + hostname+"可信任站点不存在!"; 
 alert(tipInfo);   
 return 
      } 
    } 
    alert("存在可信任站点!"); 
  } 
}

希望本文所述对大家的javascript程序设计有所帮助。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/102322.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号