为了系统的安全,只能在特定的电脑上登录。下面是部分的activex相关片段,业务方法可以自己去实现。可以实现多网卡的硬件绑定~
<script>
var _MACAddr = null;
</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;
}
</SCRIPT>
//读取客户端计算机硬件信息
function getSystemInfo() {
try {
var locator = new ActiveXObject("WbemScripting.SWbemLocator");
var service = locator.ConnectServer(".");
var cpu = new Enumerator(service.ExecQuery("SELECT * FROM Win32_Processor")).item();
} catch(exception) {
return null;
}
if (!_MACAddr || _MACAddr == 'null' || _MACAddr == null)
return null;
else
return _MACAddr;
}
<OBJECT width="0" height="0" border="0" id=locator classid=CLSID:76A64158-CB41-11D1-8B02-00600806D9B6
VIEWASTEXT></OBJECT>
<OBJECT width="0" height="0" border="0" id=foo classid=CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223></OBJECT>
通过activex控件获取可用网卡,及其网卡的网络连接状态
<SCRIPT language="JScript">
try {
var service = document.getElementById('locator').ConnectServer();
service.Security_.ImpersonationLevel = 3;
var a = service.ExecQuery("SELECT * FROM Win32_NetworkAdapter where MACAddress is not null");
var e = new Enumerator(a);
for (; !e.atEnd(); e.moveNext()) {
var p = e.item();
var e2 = new Enumerator(service.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration"
+ " where MACAddress='" + p.MACAddress + "' and IPEnabled=true"));
if (!e2.atEnd()) {
_MACAddrs[_MACAddrs.length] = {mac:p.MACAddress, status:p.NetConnectionStatus};
}
}
for (var i = 0; i < _MACAddrs.length; i++) {
//2表示 网卡连接正常, 7标识未连接
alert(_MACAddrs+" "+(_MACAddrs=='2'?' 网卡连接正常':'网卡未连接'));
}
} catch(error) {
}
</SCRIPT>