获取客户端ip和mac地址的方法总结
2012-05-26 22:10
441 查看
经过各种百度,各种搜索,得出的结论是,php无法获取客户端mac地址,ip地址也只能获取外网ip,不能获得内网实际ip(192.168.1.***)
于是转向用js的方法,照搬网上搜来的程序,貌似大家都用的下面的方法:
存在的问题:
1、生成html文件可以直接运行获得mac和ip地址,但只能在ie浏览器下,并且需要获得用户许可运行activex控件,谷歌、firefox、safari根本就无法响应。
2、将里面的js代码嵌入php就不行了,本地localhost测试总是报错(无法识别,***为空等),各种调试都不行。
致命伤很多,很头疼。
<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>
于是转向用js的方法,照搬网上搜来的程序,貌似大家都用的下面的方法:
存在的问题:
1、生成html文件可以直接运行获得mac和ip地址,但只能在ie浏览器下,并且需要获得用户许可运行activex控件,谷歌、firefox、safari根本就无法响应。
2、将里面的js代码嵌入php就不行了,本地localhost测试总是报错(无法识别,***为空等),各种调试都不行。
致命伤很多,很头疼。
<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>
相关文章推荐
- 获取客户端网卡MAC地址和IP地址的几种方法
- JS获取客户端IP的方法
- python获取外网ip地址的方法总结
- 用JS获取客户端IP的方法
- ASP.NET 获取客户端IP方法
- js客户端获取IP、MAC地址
- C#获取IP及MAC地址 方法
- 常用公共函数库(验证mac地址、判断ip所属网段、创建文件夹、读取文件、获取移动客户端类型等)
- 获取客户端网卡MAC地址和IP地址的几种方法(一)
- 服务器获取客户端IP的方法
- THinkPHP获取客户端IP与IP地址查询的方法
- Java正确获取客户端真实IP方法整理
- QT获取本机IP和MAC地址的方法
- 获取客户端网卡MAC地址的几种方法
- PHP中获取客户端IP、服务器IP的方法
- 如何用C语言获取网卡的mac地址?(当然,你也可以用类似方法获取所有ip)
- 干货:Java正确获取客户端真实IP方法整理
- 获取客户端网卡MAC地址的几种方法
- thrift/swift/nifty:获取客户端ip的简单方法
- 获取客户端网卡MAC地址的几种方法