当前位置:博客首页>>PHP >> 阅读正文

【PHP】实现获取客户端的网卡mac物理地址

作者: 郑晓 分类: PHP 发布于: 2012-09-20 22:37 浏览(11,749) 评论(10)


注意:PHP无法获取客户机的MAC地址!以下代码纯属娱乐。
今天分享的代码是取得用户的mac地址,有个用户的mac地址,你可以做很多事情,比如实现与客户电脑的绑定、防止垃圾注册等,很多网站注册时只能注册一次,不过你换IP还是清记录都没用,可能就是用的类似方法,类似一些收费软件上使用的机器码功能了。
一个非常简单的类,使用时只要实例化后直接打印它的macAddr属性就可以了,具体代码如下:

<!--?php class Getmac{ var $result = array(); // 返回带有MAC地址的字串数组 var $macAddr; /*构造*/ function __construct($osType){ switch ( strtolower($osType) ){ case "unix": break; case "solaris": break; case "aix": break; case "linux": { $this-&gt;for_linux_os();&lt;br ?--> }break;
default: {
$this-&gt;for_windows_os();
}break;
}
$temp_array = array();
foreach($this-&gt;result as $value){
if(preg_match("/[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f]/i",$value,
$temp_array ) ){
$this-&gt;macAddr = $temp_array[0];
break;
}
}
unset($temp_array);
return $this-&gt;macAddr;
}
/*linux系统中获取方法*/
function for_linux_os(){
@exec("ifconfig -a", $this-&gt;result);
return $this-&gt;result;
}
/*win系统中的获取方法*/
function for_windows_os(){
@exec("ipconfig /all", $this-&gt;result);
if ( $this-&gt;result ) {
return $this-&gt;result;
} else {
$ipconfig = $_SERVER["WINDIR"]."\system32\ipconfig.exe";
if(is_file($ipconfig)) {
@exec($ipconfig." /all", $this-&gt;result);
} else {
@exec($_SERVER["WINDIR"]."\system\ipconfig.exe /all", $this-&gt;result);
return $this-&gt;result;
}
}
}
}

/*1.实现化类 2.直接访问它的macAddr属性*/
$getMac = new Getmac(PHP_OS);
echo $getMac->macAddr;
?>

↓↓↓微信扫码请我吃辣条↓↓↓

本文出自 郑晓个人博客,转载时请注明出处及相应链接。

本文永久链接: https://www.zh30.com/php-clients-network-card-mac-address.html

【PHP】实现获取客户端的网卡mac物理地址:目前有10 条留言

用户评论头像 lololl发表于 2015年06月21日 17:29[回复]

真逗!明明获取的是自己跑php环境的机器的mac 自己还以为是获得客户端的。
告诉你,不使用接口或让用户安装控件,现行安全机制,是不会让你这么轻松获取到用户客户端机器的信息的

用户评论头像 dgsdfgsdfg发表于 2015年06月06日 03:47[回复]

标题党

用户评论头像 835164047发表于 2014年05月28日 14:36[回复]

有好几张网卡的,我要找到访问我网站的网卡的mac

    用户评论头像 郑晓发表于 2014年05月30日 10:48[回复]

    其实。。。php无法获取客户机的mac信息。

      用户评论头像 啊发生发表于 2016年07月30日 17:08[回复]

      那你这标题党!!!

    用户评论头像 啊发生发表于 2016年07月30日 17:10[回复]

    标题党

用户评论头像 bin发表于 2014年03月08日 08:17[回复]

楼主真逗比,把获取服务器的mac地址当成获取客户端mac了,楼主你用过这个类吗?能不能防止恶意注册啊?哈哈哈哈哈。php无法获取客户的mac地址。

用户评论头像 >_发表于 2013年06月09日 11:04[回复]

标题党

用户评论头像 lzsb发表于 2013年05月30日 09:45[回复]

@exec(“ifconfig -a”, $this->result);
这句是在哪里执行的?
lz连客户端服务器端都不懂吗?

用户评论头像 apache+php+mysql发表于 2012年09月21日 11:51[回复]

这个真心看不懂啊!