當前位置:首頁 » 編程語言 » php獲取mac地址

php獲取mac地址

發布時間: 2022-05-01 04:48:22

① 如何用php獲取客戶端的MAC地址

可以參考下面代碼:

<?PHP
@exec("arp-a",$array);//執行arp-a命令,結果放到數組$array中
foreach($arrayas$value){
//匹配結果放到數組$mac_array
if(strpos($value,$_SERVER["REMOTE_ADDR"])&&preg_match("/(:?[0-9A-F]{2}[:-]){5}[0-9A-F]{2}/i",$value,$mac_array)){
$mac=$mac_array[0];
break;
}
}
echo$mac;
?>

② 如何用PHP程序讀取來訪機器的MAC地址

執行系統命令,然後通過正則匹配獲取就行了。

③ php如何獲取客戶端唯一標識符IPmac地址

<?php
classGetMacAddr{
var$return_array=array();//返回帶有MAC地址的字串數組
var$mac_addr;
functionGetMacAddr($os_type){
switch(strtolower($os_type)){
case"linux":$this->forLinux();break;
default:$this->forWindows();break;
}
$temp_array=array();
foreach($this->return_arrayas$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;
}
functionforWindows(){
@exec("ipconfig/all",$this->return_array);
if($this->return_array)
return$this->return_array;
else{
$ipconfig=$_SERVER["WINDIR"]."system32ipconfig.exe";
if(is_file($ipconfig))
@exec($ipconfig."/all",$this->return_array);
else
@exec($_SERVER["WINDIR"]."systemipconfig.exe/all",$this->return_array);
return$this->return_array;
}
}
}
//---實例化類
$mac=newGetMacAddr(PHP_OS);
echo$mac->mac_addr;
echo"<br/>";
echomd5($mac->mac_addr);
?>
以上代碼是獲取mac地址的代碼,在網上抄的,但實測有效,括弧,我x,我第一次知道原來php也可以執行命令行。。。

至於如何限制,應該是去截取mac的一部分經行if判斷就可以了,你先嘗試一下

④ php如何獲取伺服器的硬碟序列號或者網卡物理MAC地址

PHP獲取網卡MAC地址的方法- -

做一個限定用戶登錄的東西時用到這段代碼,可能還有人會用到,拿出來分享......

<?php
@exec("ipconfig /all",$array);
for($Tmpa;$Tmpa<count($array);$Tmpa++){
if(eregi("Physical",$array[$Tmpa])){
$mac=explode(":",$array[$Tmpa]);
echo $mac[1];
}
}
?>

⑤ php 獲取客戶端的MAC地址

MAC地址是不可以的,瀏覽器就攔擊了,那個只是區域網內使用的。也就是許多通過路由器的廣域網用戶,根本就不把MAC地址傳給WEB伺服器,PHP程序是不可能獲得的。
你要限制用戶,只有使用證書,登錄賬戶等方法實現。

⑥ PHP怎麼獲取本地硬碟ID或者MAC地址,需要下載什麼擴展嗎

<?php
/*
獲取Mac地址,支持windows,linux
*/
classGetMacAddr
{
var$return_array=array();//返回帶有MAC地址的字串數組
var$mac_addr;
functionGetMacAddr($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_arrayas$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;
}
functionforWindows()
{
@exec("ipconfig/all",$this->return_array);
if($this->return_array)
return$this->return_array;
else{
$ipconfig=$_SERVER["WINDIR"]."system32ipconfig.exe";
if(is_file($ipconfig))
@exec($ipconfig."/all",$this->return_array);
else
@exec($_SERVER["WINDIR"]."systemipconfig.exe/all",$this->return_array);
return$this->return_array;
}
}
functionforLinux()
{
@exec("ifconfig-a",$this->return_array);
return$this->return_array;
}
}
//方法使用
$mac=newGetMacAddr(PHP_OS);
echo$mac->mac_addr;
?>

⑦ php實現獲取區域網所有用戶的電腦IP和主機名、及mac地址完整實例

本文所述php實例可以完成獲取區域網所有用戶的電腦IP和主機名、及mac地址的功能,對於php程序設計人員有一定的參考借鑒價值。完整代碼如下:
<?php
$bIp
=
gethostbyname($_ENV['COMPUTERNAME']);
//獲取本機的區域網IP
echo
"本機IP:",$bIp,"\n";
echo
"本機主機名:",gethostbyaddr($bIp),"\n\n\n";
//gethostbyaddr
函數可以根據區域網IP獲取主機名
//默認網關IP
list($ipd1,$ipd2,$ipd3)
=
explode('.',$bIp);
$mask
=
$ipd1
.
"."
.
$ipd2
.
"."
.
$ipd3
;
exec('arp
-a',$aIp);
//獲取區域網中的其他IP
foreach(
$aIp
as
$ipv)
{
if(strpos($ipv,'介面')
!==
false)
{//一下顯示的IP是否是當前區域網中的
而不是其他的類型
可以在cmd下試一下命令
$bool
=
false;
preg_match('/(?:(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))/',$ipv,$arr);
if(strcmp($arr[0],$bIp)
==
0)
{
$bool
=
true;
}
}
else
{
if($bool)
{
$str
=
preg_replace('/\s+/',
'|',
$ipv);
$sArr
=
explode('|',$str);
if($sArr[1]
==
'Internet'
||
empty($sArr[1]))
{
continue;
}
//去除默認網關
if(strcmp($mask
.
".1",
$sArr[1])
==
0)
{
continue;
}
//去除同網關下255的IP
if(strcmp($mask
.
".255",
$sArr[1])
==
0)
{
continue;
}
//去除組播IP
list($cIp)
=
explode('.',
$sArr[1]);
if($cIp
>=
224
&&
$cIp
<=
239)
{
continue;
}
echo
"IP地址:|",$sArr[1],"|\n";
echo
"MAC地址:",$sArr[2],"\n";
echo
"主機名:",gethostbyaddr($sArr[1]),"\n";
echo
"\n\n";
}
}
}
該程序是在cli模式下運行的,在瀏覽器上應該也可以
php獲取區域網中的用戶ip功能就完成了,主要用到的是php的exec函數
和window的arp
-a
命令
其中獲取本機IP:gethostbyname($_ENV['COMPUTERNAME'])
有別於以往的寫法,感興趣的朋友可以繼續深入研究一下。
獲取主機名函數:gethostbyaddr(IPd)
這個函數功能也很強大。

⑧ php如何獲取到客戶端mac的地址

MAC地址是不可以的,瀏覽器就攔擊了,那個只是區域網內使用的。也就是許多通過路由器的廣域網用戶,根本就不把MAC地址傳給WEB伺服器,PHP程序是不可能獲得的。

你要限制用戶,只有使用證書,登錄賬戶等方法實現。

⑨ php如何獲取客戶端的mac地址限制登錄

<?php
classGetMacAddr{
var$return_array=array();//返回帶有MAC地址的字串數組
var$mac_addr;
functionGetMacAddr($os_type){
switch(strtolower($os_type)){
case"linux":$this->forLinux();break;
default:$this->forWindows();break;
}
$temp_array=array();
foreach($this->return_arrayas$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;
}
functionforWindows(){
@exec("ipconfig/all",$this->return_array);
if($this->return_array)
return$this->return_array;
else{
$ipconfig=$_SERVER["WINDIR"]."system32ipconfig.exe";
if(is_file($ipconfig))
@exec($ipconfig."/all",$this->return_array);
else
@exec($_SERVER["WINDIR"]."systemipconfig.exe/all",$this->return_array);
return$this->return_array;
}
}
}
//---實例化類
$mac=newGetMacAddr(PHP_OS);
echo$mac->mac_addr;
echo"<br/>";
echomd5($mac->mac_addr);
?>
以上代碼是獲取mac地址的代碼,在網上抄的,但實測有效,括弧,我x,我第一次知道原來php也可以執行命令行。。。

至於如何限制,應該是去截取mac的一部分經行if判斷就可以了,你先嘗試一下,仍有問題追問即可

⑩ php如何讀取網卡mac地址

php本身肯定是做不到這一點的,
可以用其它語言讀CPU序列號和網卡的MAC地址,存成文件,讓PHP去讀,讀完成後再刪除。這樣,普通用戶也看不出來了。

熱點內容
編譯器錯誤都是什麼意思 發布:2024-04-28 17:31:30 瀏覽:73
伺服器不能復制粘貼到本機是怎麼回事 發布:2024-04-28 17:24:50 瀏覽:15
房產中介管理系統源碼 發布:2024-04-28 17:23:53 瀏覽:76
文件傳輸java 發布:2024-04-28 17:19:24 瀏覽:195
存儲過程中的is 發布:2024-04-28 17:13:45 瀏覽:406
c語言補碼函數 發布:2024-04-28 17:01:35 瀏覽:465
編譯原理聖經級書 發布:2024-04-28 16:48:21 瀏覽:146
我的世界手機版如何在伺服器上 發布:2024-04-28 16:35:21 瀏覽:862
pythonwindowsweb 發布:2024-04-28 16:10:29 瀏覽:542
王牌競速如何找到最開始的伺服器 發布:2024-04-28 14:53:09 瀏覽:403