Maison >développement back-end >Problème PHP >Comment obtenir l'adresse Mac en php
Obtenir l'adresse MAC du client est une fonction très utile car c'est un identifiant unique immuable du client. Il est inutile de changer l'IP ou d'effacer les enregistrements locaux.
Ainsi, pour obtenir l'adresse Mac, vous avez souvent besoin du code d'activation une machine, une lors de l'achat du logiciel. Chaque machine ne peut être enregistrée qu'une seule fois pour l'enregistrement sur le site Web, etc.
Dans le développement de systèmes de commerce électronique, une fonction courante est la suivante : les utilisateurs ajoutent des produits au panier sans se connecter, et les données du panier sont automatiquement synchronisées après la connexion. dans. .
Nous utilisons généralement COOKIE ou SESSION pour résoudre ce problème. En fait, vous pouvez également obtenir l'adresse MAC du client comme identifiant unique et la stocker dans la base de données, puis la faire correspondre après une connexion réussie. (Apprentissage recommandé : Tutoriel vidéo PHP)
L'adresse MAC est utilisée pour identifier de manière unique une carte réseau dans le réseau si un appareil possède une ou plusieurs cartes réseau. , chaque carte réseau est requise et aura une adresse MAC unique.
Les cloud à l'ère du big data utilisent souvent de telles méthodes.
Le code compilé en ligne est le suivant :
<?php /** 获取网卡的MAC地址原码;目前支持WIN/LINUX系统 获取机器网卡的物理(MAC)地址 **/ class GetMacAddr{ var $return_array = array(); // 返回带有MAC地址的字串数组 var $mac_addr; function GetMacAddr($os_type){ 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->return_array 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->mac_addr = $temp_array[0]; break; } } unset($temp_array); return $this->mac_addr; } function forWindows(){ @exec("ipconfig /all", $this->return_array); if ( $this->return_array ) return $this->return_array; else{ $ipconfig = $_SERVER["WINDIR"]."\system32\ipconfig.exe"; if ( is_file($ipconfig) ) @exec($ipconfig." /all", $this->return_array); else @exec($_SERVER["WINDIR"]."\system\ipconfig.exe /all", $this->return_array); return $this->return_array; } } function forLinux(){ @exec("ifconfig -a", $this->return_array); return $this->return_array; } } //方法使用 $mac = new GetMacAddr(PHP_OS); echo $mac->mac_addr; ?>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!