根据mac地址对应正确才可以 访问网站的需求

1.只有ie支持

2.用户先访问这个页面 在得到mac地址后然后跳转到登陆页面(注意:得到mac地址的速度得5~10秒,甚至更多),用url传值的方式传到登陆页面  然后进行对比数据库中的用户的mac地址 如果正确则登陆进去 否则就算用户名 密码正确 也进不去系统

3.后来修改了一下 在登陆页面加载完毕的时候就加载mac.. 但是速度非常慢10S+ 加载完毕之 验证 用户名 密码和对应的mac地址

4.欢迎大家一起讨论这个,有木有别的方法获取并且时间短一点的?

<html>
<head>
<title>WMI Scripting HTML</title>
<script FOR="foo" EVENT="OnCompleted(hResult,pErrorObject, pAsyncContext)" LANGUAGE="JScript">

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 FOR="foo" EVENT="OnObjectReady(objObject,objAsyncContext)" LANGUAGE="JScript">

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>
</head>
<body>
<object classid="CLSID:76A64158-CB41-11D1-8B02-00600806D9B6" id="locator" VIEWASTEXT>
</object>
<object classid="CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223" id="foo">
</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 method="POST" action="NICPost.asp" id="formfoo" name="formbar">

<input type=text name="txtMACAddr">
<input type=text name="txtIPAddr">
<input type=text name="txtDNSName">

</form>
</body>
</html>



原文地址:https://www.cnblogs.com/0banana0/p/2231047.html