<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. php語言

    如何在php與js中分別獲取客戶度mac地址

    時間:2025-05-16 09:08:43 php語言 我要投稿
    • 相關推薦

    如何在php與js中分別獲取客戶度mac地址

      導語:如何在php與js中分別獲取客戶度mac地址的呢?學代碼的你懂嗎?下面的是百分網小編為大家搜集的相關資料,供大家參考。

    如何在php與js中分別獲取客戶度mac地址

      代碼如下:

      <?php

      class MacAddr

      {

      public $returnArray = array();

      public $macAddr;

      function __contruct($os_type=null){

      if(is_null($os_type)) $os_type = PHP_OS;

      switch (strtolower($os_type)){

      case "linux":

      $this->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 "<br />";

      // 獲取客戶端

      // linux

      $command = "arp -a {$_SERVER['REMOTE_ADDR']}";

      echo $command;

      echo "<br />";

      $result=`{$command}`;

      // windows

      $command = "nbtstat -a {$_SERVER['REMOTE_ADDR']}";

      echo $command;

      echo "<br />";

      $result=`{$command}`;

      print_r($result);

      ?>

      獲取服務端的邏輯沒什么大問題,可能會存在權限問題。

      獲取客戶端的時候,可能會比較慢,arp/nbstat命令執行會比較慢。

      復制代碼 代碼如下:

      <script language="JScript" event="OnCompleted(hResult,pErrorObject, pAsyncContext)" for="foo">

      document.forms[0].lbMacAddr.value=unescape(MACAddr);

      </script>

      <script language="JScript" event="OnObjectReady(objObject,objAsyncContext)" for="foo">

      if(objObject.IPEnabled != null && objObject.IPEnabled != "undefined" && objObject.IPEnabled == true && objObject.MACAddress != null && objObject.MACAddress != "undefined") MACAddr = objObject.MACAddress;

      </script>

      <object id="locator" classid="CLSID:76A64158-CB41-11D1-8B02-00600806D9B6"></object>

      <object id="foo" classid="CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223"></object>

      <script language="JScript">

      var service = locator.ConnectServer();

      var MACAddr ;

      var IPAddr ;

      var DomainAddr;

      var sDNSName;

      service.Security_.ImpersonationLevel=3;

      service.InstancesOfAsync(foo, 'Win32_NetworkAdapterConfiguration');

      </script>

      <form><input type="text" id='lbMacAddr' name='lbMacAddr' /></form>

      只適用于IE瀏覽器,而且會有告警提示,挺遺憾的。

    【如何在php與js中分別獲取客戶度mac地址】相關文章:

    php獲取當前url地址的方法10-16

    php獲取IP物理地址的方法10-10

    PHP獲取真實的客戶IP的方法09-01

    php與js的區別07-19

    HTML中利用js調用php的內容09-18

    php怎么引入js08-31

    IP地址和MAC地址分類08-10

    PHP根據IP地址獲取所在城市具體實現07-16

    php根據IP地址獲取當前地理位置接口05-18

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人