【问题标题】:how to get the client computer MAC id using php [duplicate]如何使用php获取客户端计算机MAC id [重复]
【发布时间】:2013-03-02 10:55:56
【问题描述】:

使用以下代码获取 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。

谁能帮帮我

【问题讨论】:

  • 你不能,客户端浏览器和网络服务器之间的所有 IP 通信都处于更高级别

标签: php ip client-server


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    所有互联网连接和网络设备都有 MAC ID,用于识别设备、制造商和设备编号。

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

    【讨论】:

      【解决方案3】:

      您不能在 php.ini 中执行此操作。 PHP 只在您的服务器中运行。您可以在客户端计算机上执行的唯一代码是 JavaScript。

      更多信息在这里:How to get Client Machine's Mac Address in a Web application

      【讨论】:

      • PHP 可以作为独立服务安装,无需任何其他服务,如 Web 服务器。只要您可以通过远程方法(例如通过 SSH 类型连接)获取 ipconfig 调用的输出,您就可以通过这种方式刮取用户网络设备的 MAC ID,但它确实需要配置远程计算机以允许它并拥有服务来做到这一点。
      【解决方案4】:

      有关使用 PHP + netstat 的正确解决方案,请参阅How can I get the MAC and the IP address of a connected client in PHP?

      这个问题已经过时了,但是当我设法找到它并且所有其他响应都很愚蠢时,请告知您不需要使用 Java,即使此信息不直接暴露给 php 脚本,它也是可用的以一种或另一种方式为每个 tcp 连接。

      请注意,如果他在 NAT 之后(对于您的大多数用户来说可能是这种情况),那么您不太可能获得客户端真实的 mac 或 ip 地址。所以它的用处是另一回事。

      【讨论】:

        猜你喜欢
        • 2012-10-07
        • 2012-12-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-01
        • 2012-04-11
        • 1970-01-01
        相关资源
        最近更新 更多