mac
地址是网卡地址一般情况下是无法获取到用户的mac地址地的,因为安全限制了浏览器所以几乎不太可能获取到了,下面拿两段代码给大家玩玩。
例1
PHP代码:
PHP 8.5.5
PHP 8.5.5 是 PHP 8.5 分支的维护更新版本。该版本延续了“小步快跑”的迭代逻辑,通过深度错误修复、底层性能微调以及安全加固,旨在为开发者提供一个更健壮、更高效的运行环境。该版本严格遵守语义化版本规范,不包含破坏性变更。
下载
代码如下复制代码@exec("arp -a",$array); //执行arp -a命令,结果放到数组$array中echo "
例2
代码如下复制代码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);?>
获取服务端的逻辑没什么大问题,可能会存在权限问题。
获取客户端的时候,可能会比较慢,arp/nbstat命令执行会比较慢。
代码如下复制代码
只适用于IE浏览器,而且会有告警提示
http://www.bkjia.com/PHPjc/632908.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/632908.html
TechArticle
mac地址是网卡地址一般情况下是无法获取到用户的mac地址地的,因为安全限制了浏览器所以几乎不太可能获取到了,下面拿两段代码给大家...
";
print_r($array); //打印获取的数组
foreach($array as $value)
{
if( //匹配结果放到数组$mac_array
strpos($value,$_SERVER["REMOTE_ADDR"]) &&
preg_match("/(:?[0-9a-f]{2}[:-]){5}[0-9a-f]{2}/i",$value,$mac_array)
)
{
$mac = $mac_array[0];
break;
}
}
echo $mac; //输出客户端MAC
?>