雅安论坛

标题: php获取服务端mac [打印本页]

作者: 未命名    时间: 2022-1-13 16:01
标题: php获取服务端mac
php获取服务端macphp获取服务端macphp获取服务端macphp获取服务端macphp获取服务端macphp获取服务端macphp获取服务端macphp获取服务端macphp获取服务端macphp获取服务端macphp获取服务端macphp获取服务端macphp获取服务端macphp获取服务端macphp获取服务端macphp获取服务端macphp获取服务端macphp获取服务端macphp获取服务端macphp获取服务端macphp获取服务端macphp获取服务端macphp获取服务端macphp获取服务端mac
  1. //写记录日志

  2. mb_internal_encoding("gb2312");  
  3. // 这里的gb2312是你网站原来的编码  
  4. mb_http_output("HTML-ENTITIES"); ob_start('mb_output_handler');  

  5. class GetMac{
  6.     var $result   = array();
  7.     var $macAddrs = array(); //所有mac地址
  8.     var $macAddr;            //第一个mac地址

  9.     function __construct($OS){
  10.         $this->GetMac($OS);
  11.     }

  12.     function GetMac($OS){
  13.         switch ( strtolower($OS) ){
  14.             case "unix": break;
  15.             case "solaris": break;
  16.             case "aix": break;
  17.             case "linux":
  18.                 $this->getLinux();
  19.                 break;
  20.             default:
  21.                 $this->getWindows();
  22.                 break;
  23.         }
  24.         $tem = array();
  25.         foreach($this->result as $val){
  26.             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",$val,$tem) ){
  27.                 $this->macAddr = $tem[0];//多个网卡时,会返回第一个网卡的mac地址,一般够用。
  28.                 break;
  29.                 //$this->macAddrs[] = $temp_array[0];//返回所有的mac地址
  30.             }
  31.         }
  32.         unset($temp_array);
  33.         return $this->macAddr;
  34.     }
  35.     //Linux系统
  36.     function getLinux(){
  37.         @exec("ifconfig -a", $this->result);
  38.         return $this->result;
  39.     }
  40.     //Windows系统
  41.     function getWindows(){
  42.         @exec("ipconfig /all", $this->result);
  43.         if ( $this->result ) {
  44.             return $this->result;
  45.         } else {
  46.             $ipconfig = $_SERVER["WINDIR"]."\system32\ipconfig.exe";
  47.             if(is_file($ipconfig)) {
  48.                 @exec($ipconfig." /all", $this->result);
  49.             } else {
  50.                 @exec($_SERVER["WINDIR"]."\system\ipconfig.exe /all", $this->result);
  51.                 return $this->result;
  52.             }
  53.         }
  54.     }
  55. }

  56. $obj = new GetMac(PHP_OS);
  57. //print_r($obj->result);

  58. //获取mac
  59. //echo  $obj->macAddr;

  60. //获取客户端
  61. $result=`arp -a $REMOTE_ADDR`;

  62. //$result=`nbtstat -a $REMOTE_ADDR`;
  63. //print_r($result);
  64. echo $sql = "insert into cxsj_visitor(mac,result)values('{$obj->macAddr}','{$result}')";
  65. $rs = mysqli_query($db,$sql);
  66. exit;
  67.                
  68. //记录日志完成
复制代码







欢迎光临 雅安论坛 (https://www.yaanbbs.net/) Powered by Discuz! X3.4