【PHP】实现获取客户端的网卡mac物理地址
作者: 郑晓 分类: PHP 发布于: 2012-09-20 22:37 浏览:18,671 评论(10)
注意:PHP无法获取客户机的MAC地址!以下代码纯属娱乐。
今天分享的代码是取得用户的mac地址,有个用户的mac地址,你可以做很多事情,比如实现与客户电脑的绑定、防止垃圾注册等,很多网站注册时只能注册一次,不过你换IP还是清记录都没用,可能就是用的类似方法,类似一些收费软件上使用的机器码功能了。
一个非常简单的类,使用时只要实例化后直接打印它的macAddr属性就可以了,具体代码如下:
}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 条留言
真逗!明明获取的是自己跑php环境的机器的mac 自己还以为是获得客户端的。
告诉你,不使用接口或让用户安装控件,现行安全机制,是不会让你这么轻松获取到用户客户端机器的信息的
标题党
有好几张网卡的,我要找到访问我网站的网卡的mac
其实。。。php无法获取客户机的mac信息。
那你这标题党!!!
标题党
楼主真逗比,把获取服务器的mac地址当成获取客户端mac了,楼主你用过这个类吗?能不能防止恶意注册啊?哈哈哈哈哈。php无法获取客户的mac地址。
标题党
@exec(“ifconfig -a”, $this->result);
这句是在哪里执行的?
lz连客户端服务器端都不懂吗?
这个真心看不懂啊!