php/js获取客户端mac地址的实现代码
发布时间:2020-12-13 06:30:29 所属栏目:PHP教程 来源:网络整理
导读:废话不多讲,直接上代码吧! 代码如下: class MacAddr { public $returnArray = array(); public $macAddr; function __contruct($os_type=null){ if(is_null($os_type)) $os_type = PHP_OS; switch (strtolower($os_type)){ case "linux": $this->forLinux(
废话不多讲,直接上代码吧! 代码如下: class MacAddr
{ public $returnArray = array(); public $macAddr; function __contruct($os_type=null){ if(is_null($os_type)) $os_type = PHP_OS; switch (strtolower($os_type)){ case "linux": $this->forLinux(); break; case "solaris": break; case "unix": break; case "aix": break; default: $this->forWindows(); break; } $temp_array = array(); foreach($this->returnArray 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; } function forWindows(){ @exec("ipconfig /all",$this->returnArray); if($this->returnArray) return $this->returnArray; else{ $ipconfig = $_SERVER["WINDIR"]."system32ipconfig.exe"; if (is_file($ipconfig)) @exec($ipconfig." /all",$this->returnArray); else @exec($_SERVER["WINDIR"]."systemipconfig.exe /all",$this->returnArray); return $this->returnArray; } } function forLinux(){ @exec("ifconfig -a",$this->returnArray); return $this->returnArray; } } $mac = new MacAddr(PHP_OS); echo $mac->macAddr; echo " "; // 获取客户端 // linux $command = "arp -a {$_SERVER['REMOTE_ADDR']}"; echo $command; echo " "; $result=`{$command}`; // windows $command = "nbtstat -a {$_SERVER['REMOTE_ADDR']}"; echo $command; echo " "; $result=`{$command}`; print_r($result); ?> 获取服务端的逻辑没什么大问题,可能会存在权限问题。 代码如下: 只适用于IE浏览器,而且会有告警提示,挺遗憾的。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |