php可以取mac地址嘛,php能获取客户端的MAC地址吗?

PHP是获取客户端的所有信息都是依赖于HTTP协议头信息或者是由客户端主动传送信息,否则是无法自动获取得到。但是由于安全和权限问题HTTP是不会传送客户端的MAC地址,那么剩下的就只有一种方式,那就是客户端自己传送,而对于前端来说JavaScript是无法获取到用户机器的MAC地址的。

对于IE来说可以通过ActiveX来获取,但是对于用户来说是很不友好的,需要用户允许它获取MAC地址信息。或者是Java的Applet也可以获取,但是同样需要用户浏览器允许Applet运行,但目前大多数都禁止了,所以也是不太先靠谱的。除此两个方法之外,别无它法。而对于ARP来说,现大目前很多防火墙软件都屏蔽了,所以也不可行。以下是我整理的一个ActiveX获取网卡Mac的一小段代码,可以参考一下:

wmi scripting html

document.forms[0].txtIPAddr.value=unescape(IPAddr);

document.forms[0].txtDNSName.value=unescape(sDNSName);

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;

}

var service = locator.ConnectServer();

var MACAddr ;

var IPAddr ;

var DomainAddr;

var sDNSName;

service.Security_.ImpersonationLevel=3;

service.InstancesOfAsync(foo, 'Win32_NetworkAdapterConfiguration');

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值