如何使用PHP获取客户端的MAC地址?

kim*_*ard 41 php ip

如何使用PHP或javascript获取MAC地址...

Poi*_*nty 37

MAC地址(低级本地网络接口地址)不能通过IP路由器生存.您无法从远程服务器找到客户端MAC地址.

在本地子网中,MAC地址通过ARP系统映射到IP地址.本地网络上的接口知道如何将IP地址映射到MAC地址.但是,当您的数据包已在本地子网上路由到(并通过)网关到"真正的"Internet时,原始MAC地址将丢失.简单地说,数据包的每个子网到子网跳都涉及每个子网中本地路由的相同类型的IP到MAC映射.


小智 9

echo GetMAC();

function GetMAC(){
    ob_start();
    system('getmac');
    $Content = ob_get_contents();
    ob_clean();
    return substr($Content, strpos($Content,'\\')-20, 17);
}
Run Code Online (Sandbox Code Playgroud)

  • 虽然此代码段可以解决问题,但[包括解释](// meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)确实有助于提高帖子的质量.请记住,您将来会回答读者的问题,而这些人可能不知道您的代码建议的原因.另请注意不要在代码中加上解释性注释,因为这会降低代码和解释的可读性! (3认同)
  • 它在本地主机服务器上工作。无法在实时服务器上工作 (3认同)

小智 5

这是一种可能的方法:

$string=exec('getmac');
$mac=substr($string, 0, 17); 
echo $mac;
Run Code Online (Sandbox Code Playgroud)

  • 这在 Linux 系统中不起作用,即使它起作用,它也会获取正在执行脚本的服务器的 Mac 地址,因此没有客户端 Mac 地址 (5认同)

Pat*_*her 2

如果客户端运行 Windows 并允许您安装 ActiveX 控件,您可以在 javascript 中获取客户端的 MAC 地址。

http://www.eggheadcafe.com/community/aspnet/3/10054371/how-to-get-client-mac-address.aspx

http://codingresource.blogspot.com/2010/02/get-client-mac-address-ip-address-using.html

  • 是的,这是一件非常可怕的事情。这也是迄今为止给出的唯一正确答案。 (4认同)
  • 依赖客户端 JavaScript 和第 3 方 Active X 组件是非常不安全且过时的。 (3认同)