priyankavm Ответов: 2

Как получить Mac-адрес клиентского ПК с помощью Php


Как получить MAC-адрес клиента с помощью PHP
У меня есть польза
function getMacLinux() {
  exec('netstat -ie', $result);
   if(is_array($result)) {
    $iface = array();
    foreach($result as $key => $line) {
      if($key > 0) {
        $tmp = str_replace(" ", "", substr($line, 0, 10));
        if($tmp <> "") {
          $macpos = strpos($line, "HWaddr");
          if($macpos !== false) {
            $iface[] = array('iface' => $tmp, 'mac' => strtolower(substr($line, $macpos+7, 17)));
          }
        }
      }
    }
    return $iface[0]['mac'];
  } else {
    return "notfound";
  }
}



но он дает MAC-адрес сервера
кто-нибудь знает ???

2 Ответов

Рейтинг:
2

Member 10373089

$mac = shell_exec("arp-a". escapeshellarg ($_SERVER ['REMOTE_ADDR']). | / grep-o-E ' (: xdigit:{1,2}:){5}:xdigit:{1,2}'");


Рейтинг:
17

OriginalGriff

В принципе, вы не можете.
MAC-адрес не передается за пределы локальной сети, к которой подключено устройство, - он никогда не покидает маршрутизатор и не переходит на сервер.

Теоретически вы можете получить его в Javascript, так как он работает на клиенте, но...и это большой but...it это не сработает, за исключением исключительных обстоятельств: вам нужно использовать элемент управления ActiveX, чтобы получить MAC, и они работают только под IE, а большинство систем по умолчанию "не запускают элементы управления ActiveX", чтобы предотвратить всевозможные проблемы безопасности.

Если вы хотите использовать MAC для идентификации, то не беспокойтесь - он не будет делать то, что вы хотите большую часть времени, и его очень просто подделать. И есть также забава в том, что они не обязательно уникальны - просто уникальны в сегменте локальной сети...


priyankavm

Большое спасибо

OriginalGriff

Пожалуйста!