• 获取客户端网卡MAC地址和IP地址实现JS代码


    获取客户端网卡MAC地址和IP地址实现JS代码

    作者: 字体:[增加 减小] 类型:转载
     
    获取客户端的一些信息,如IP和MAC,以结合身份验证,相信很多人都会这样做吧,我们这里用Javascript,这样做的好处是不需要服务器端进行处理,有客户端自行获取,感兴趣的你可以参考下哈
     
     
    在做B/S结构的系统时,我们常常需要获取客户端的一些信息,如IP和MAC,以结合身份验证。要获取服务器端的MAC很容易,但是要获取客户端的MAC的地址确要花费一翻心思,通常的做法是调用Win32API或直接调用nbtstat命令,这样做有很多问题,而另一种方法就是直接用客户端脚本,我们这里用Javascript,这样做的好处是不需要服务器端进行处理,有客户端自行获取,传递到服务器端,且速度和可靠性都比在服务器端获取好。 
    具体实现的html和javascript如下: 
    复制代码 代码如下:

    <HTML> 
    <HEAD> 
    <TITLE>WMI 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 method=post> 
    <INPUT type="text" name=txtMACAddr> 
    <INPUT type="text" name=txtIPAddr> 
    <INPUT type="text" 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> 

    不过这两个ActiveX都是系统自带,不用去下载或注册。 
    接下来的工作就是用脚本和ActiveX交互,脚本可以是js或Vbs都可以.
  • 相关阅读:
    Maven 环境的配置
    zTree的简单例子
    plsql免安装客户端的配置
    HDU 1232 畅通工程
    HDU 5698 瞬间移动
    Codeforces 1015E1 Stars Drawing (Easy Edition)
    Codeforces 784B Santa Claus and Keyboard Check
    Codeforces 500C New Year Book Reading
    NSarray 赋值 拷贝 等问题记录
    UINavigationController 操作记录
  • 原文地址:https://www.cnblogs.com/timssd/p/10153046.html
Copyright © 2020-2023  润新知