我正在寻找一个解决方案为一个基于php的网页来获得MAC地址。我正在运行的appache服务器,服务器是在同一个网络中的客户端.Are有什么建议吗?
发布于 2013-11-29 23:32:57
mac地址可以配置,因此它不是身份。请勿使用网络地址信息进行身份验证或标识,切勿使用。
但是,您可以在应用程序中仅出于信息目的(与安全无关)使用mac地址,因此我将解释如何获取它(在Linux上)。
首先,客户端的mac地址在php全局变量中是不可用的,比如REMOTE_ADDRESS (客户端的IP地址)。您需要使用arp命令自行解决此问题。arp可以输出系统的ARP表并对其进行修改。要将IP解析为mac地址,请使用以下命令:
arp -a IP回到PHP。我们需要调用上面的命令,将客户端的IP地址传递给它:
$ip = $_SERVER['REMOTE_ADDRESS'];
// don't miss to use escapeshellarg(). Make it impossible to inject shell code
$mac = shell_exec('arp -a ' . escapeshellarg($ip));
// can be that the IP doesn't exist or the host isn't up (spoofed?)
// check if we found an address
if(empty($mac)) {
die("No mac address for $ip not found");
}
// having it
echo "mac address for $ip: $mac";发布于 2013-11-29 23:34:17
你可以ask for MAC adress,它可以调整;你也可以要求client ip,但它可能每次都会改变。
除非你在一个完全受控的局域网中,否则只需管理帐户身份验证!
甚至,如果您是在局域网中,客户端可能会得到一个静态ip,这将由...好的,到目前为止。我认为这可能会产生OSI层模型的东西。
https://stackoverflow.com/questions/20289040
复制相似问题