如何使用php获取客户端计算机的MAC id


how to get the client computer MAC id using php

使用以下代码获取mac ID。

<?php
ob_start(); // Turn on output buffering
system('ipconfig /all'); //Execute external program to display output
$mycom=ob_get_contents(); // Capture the output into a variable
ob_clean(); // Clean (erase) the output buffer
$findme = "Physical";
$pmac = strpos($mycom, $findme); // Find the position of Physical text
$mac=substr($mycom,($pmac+36),17); // Get Physical Address
echo $mac;
?>

但是它返回服务器机器的MAC ID..我需要得到我的网页运行的PC的MAC iD。

有人能帮我吗

MAC地址不在PHP请求头中发送,因此您将无法通过这种方式访问它。

您需要实现使用JAVA(而不是Javascript)来获取用户连接信息。

所有互联网连接和网络设备都有MAC ID,这是为了识别设备,制造商和设备编号。

这将依赖于在用户机器上运行的JAVA实现,并且将是收集该信息的最可靠的方法。

在php中不能这样做。Php只在您的服务器上运行。你唯一可以在客户端机器上执行的代码是JavaScript。

更多信息在这里:如何获取客户端机器's Mac地址在Web应用程序

关于使用PHP + netstat的正确解决方案,请参见如何在PHP中获取连接客户端的MAC和IP地址?

这个问题已经过时了,但是当我设法找到它时,所有其他的回答都是愚蠢的,让它知道你不需要使用Java,即使这个信息不直接暴露给php脚本,它以一种或另一种方式可用于每个tcp连接。

注意,你不太可能得到客户端的真实mac或ip地址,如果他在NAT后面(这可能是大多数用户的情况)。所以有用性是另一回事