利用JS获取IE客户端IP及MAC的实现

梦未醒i5

梦未醒i5

2016-02-19 15:20

下面图老师小编要跟大家分享利用JS获取IE客户端IP及MAC的实现,简单的过程中其实暗藏玄机,还是要细心学习,喜欢还请记得收藏哦!

在做B/S结构的系统时,我们常常需要获取客户端的一些信息,如IP和MAC,以结合身份验证。在ASP.NET中,要获取服务器端的MAC很容易,但是要获取客户端的MAC的地址确要花费一翻心思,通常的做法是调用Win32API或直接调用nbtstat命令,这样做有很多问题,而另一种方法就是直接用客户端脚本,我们这里用Javascript,这样做的好处是不需要服务器端进行处理,有客户端自行获取,传递到服务器端,且速度和可靠性都比在服务器端获取好。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)

        具体实现的html和javascript如下:

HTMLHEADTITLEWMI Scripting HTML/TITLE
META http-equiv=Content-Type content="text/html; charset=gb2312"
SCRIPT language=JScript event="OnCompleted(hResult,pErrorObject, pAsyncContext)" for=foo
 document.forms[0].txtMACAddr.value=unescape(MACAddr);
 document.forms[0].txtIPAddr.value=unescape(IPAddr);
 document.forms[0].txtDNSName.value=unescape(sDNSName);
 //document.formbar.submit();
  /SCRIPT

SCRIPT language=JScript event=OnObjectReady(objObject,objAsyncContext) for=foo
   if(objObject.IPEnabled != null && objObject.IPEnabled != "undefined" && objObject.IPEnabled == true)
   {
    if(objObject.MACAddress != null && objObject.MACAddress != "undefined")
    MACAddr = objObject.MACAddress;
    if(objObject.IPEnabled && objObject.IPAddress(0) != null && objObject.IPAddress(0) != "undefined")
    IPAddr = objObject.IPAddress(0);
    if(objObject.DNSHostName != null && objObject.DNSHostName != "undefined")
    sDNSName = objObject.DNSHostName;
    }
  /SCRIPT

META content="MSHTML 6.00.2800.1106" name=GENERATOR/HEAD
BODY
OBJECT id=locator classid=CLSID:76A64158-CB41-11D1-8B02-00600806D9B6 VIEWASTEXT/OBJECT
OBJECT id=foo classid=CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223/OBJECT
SCRIPT language=JScript
   var service = locator.ConnectServer();
   var MACAddr ;
   var IPAddr ;
   var DomainAddr;
   var sDNSName;
   service.Security_.ImpersonationLevel=3;
   service.InstancesOfAsync(foo, ''Win32_NetworkAdapterConfiguration'');
   /SCRIPT

FORM id=formfoo name=formbar action=NICPost.asp method=postINPUT value=00:05:5D:0E:C7:FA name=txtMACAddr INPUT value=192.168.0.2 name=txtIPAddr INPUT value=typ name=txtDNSName /FORM/BODY/HTML

        关键是用到两个ActiveX:

        OBJECT id=locator classid=CLSID:76A64158-CB41-11D1-8B02-00600806D9B6 VIEWASTEXT/OBJECT
        OBJECT id=foo classid=CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223/OBJECT

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)

        不过这两个ActiveX都是系统自带,不用去下载或注册。

        接下来的工作就是用脚本和ActiveX交互,脚本可以是js或Vbs我个人喜欢用js。

展开更多 50%)
分享

猜你喜欢

利用JS获取IE客户端IP及MAC的实现

Web开发
利用JS获取IE客户端IP及MAC的实现

ASP获取客户端MAC地址

ASP
ASP获取客户端MAC地址

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

利用客户端js实现汉字简体繁体转换

ASP
利用客户端js实现汉字简体繁体转换

ASP如何获取客户端真实IP

Web开发
ASP如何获取客户端真实IP

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

java通过ip获取客户端Mac地址的小例子

编程语言 网络编程
java通过ip获取客户端Mac地址的小例子

JS通过WMI获取客户端硬件信息

Web开发
JS通过WMI获取客户端硬件信息

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

突破IE屏蔽限制自己的网站使劲弹新IE窗口

突破IE屏蔽限制自己的网站使劲弹新IE窗口

超级可爱 10086 我家猫把卡吃了怎么办啊? - QQ搞笑分组

超级可爱 10086 我家猫把卡吃了怎么办啊? - QQ搞笑分组
下拉加载更多内容 ↓