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

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

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


注意:PHP无法获取客户机的MAC地址!以下代码纯属娱乐。 今天分享的代码是取得用户的mac地址,有个用户的mac地址,你可以做很多事情,比如实现与客户电脑的绑定、防止垃圾注册等,很多网站注册时只能注册一次,不过你换IP还是清记录都没用,可能就是用的类似方法,类似一些收费软件上使用的机器码功能了。 一个非常简单的类,使用时只要实例化后直接打印它的macAddr属性就可以了,具体代码如下: </p> <!--?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->for_linux_os();<br ?--> }break; default: { $this->for_windows_os(); }break; } $temp_array = array(); foreach($this->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->macAddr = $temp_array[0]; break; } } unset($temp_array); return $this->macAddr; } /*linux系统中获取方法*/ function for_linux_os(){ @exec("ifconfig -a", $this->result); return $this->result; } /*win系统中的获取方法*/ function for_windows_os(){ @exec("ipconfig /all", $this->result); if ( $this->result ) { return $this->result; } else { $ipconfig = $_SERVER["WINDIR"]."\system32\ipconfig.exe"; if(is_file($ipconfig)) { @exec($ipconfig." /all", $this->result); } else { @exec($_SERVER["WINDIR"]."\system\ipconfig.exe /all", $this->result); return $this->result; } } } } /*1.实现化类 2.直接访问它的macAddr属性*/ $getMac = new Getmac(PHP_OS); echo $getMac->macAddr; ?>

       

本文采用知识共享署名-非商业性使用 3.0 中国大陆许可协议进行许可,转载时请注明出处及相应链接。

本文永久链接: 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[回复]

这个真心看不懂啊!

发表评论

change vcode