Maison >développement back-end >Problème PHP >Comment obtenir l'adresse Mac en php

Comment obtenir l'adresse Mac en php

(*-*)浩
(*-*)浩original
2019-09-28 14:14:496214parcourir

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.

Comment obtenir l'adresse Mac en php

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Comment utiliser le manuel phpArticle suivant:Comment utiliser le manuel php