首页 新闻 会员 周边

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

0
悬赏园豆:30 [已关闭问题]

利用下面的代码获取客户端MAC时,ActiveX会被浏览器截取掉,不能安装ActiveX.怎么样才能让浏览器自动安装.不要降低浏览器的安全级别.要在asp.net下能用的.

<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" action="index.do" method="post">
        <input value="00-11-11-B4-52-EF" name="txtMACAddr">
        <input value="210.42.38.50" name="txtIPAddr">
        <input value="zhupan" name="txtDNSName">
    </form>
</body>
</html>

bicabo的主页 bicabo | 初学一级 | 园豆:160
提问于:2010-07-19 10:28
< >
分享
其他回答(1)
0

浏览器客户端设置了安全选项,这不可以吧。

Astar | 园豆:40805 (高人七级) | 2010-07-19 14:56
是的.如何将此ActiveX注册为安全的?
支持(0) 反对(0) bicabo | 园豆:160 (初学一级) | 2010-07-22 10:49
@bicabo:没法子的,都需要注册。你可以尝试使用其它获取IP地址的方法,如楼下提示的。
支持(0) 反对(0) Astar | 园豆:40805 (高人七级) | 2010-07-22 10:51
0

js客户端获取ip地址  直接可以用别人的api就行了   例如腾讯的 地址:http://fw.qq.com:80/ipaddress,至于网卡物理地址应该很好获得

牛牛博客 | 园豆:305 (菜鸟二级) | 2010-07-20 10:11
是的.如何将此ActiveX注册为安全的?
支持(0) 反对(0) bicabo | 园豆:160 (初学一级) | 2010-07-22 10:49
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册