找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2016|回复: 0
打印 上一主题 下一主题

php/js获取客户端mac地址的实现代码

[复制链接]

2617

主题

2617

帖子

7789

积分

论坛元老

Rank: 8Rank: 8

积分
7789
跳转到指定楼层
楼主
发表于 2018-2-14 08:15:41 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

            废话不多讲,直接上代码吧!
[U]复制代码[/U] 代码如下:
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命令执行会比较慢。
[U]复制代码[/U] 代码如下:
   
   
   
   
   

只适用于IE浏览器,而且会有告警提示,挺遗憾的。
            
            
您可能感兴趣的文章:
  • PHP获取MAC地址的函数代码
  • mac下安装nginx和php
  • PHP获取MAC地址的具体实例
  • php获取服务器端mac和客户端mac的地址支持WIN/LINUX
  • Mac下搭建php开发环境教程
  • mac下Apache + MySql + PHP搭建网站开发环境
  • php实现获取局域网所有用户的电脑IP和主机名、及mac地址完整实例
  • mac环境中使用brew安装php5.5.15
  • 推荐一款MAC OS X 下php集成开发环境mamp
  • mac下多个php版本快速切换的方法
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端