2013-03-02 182 views
3

要獲取使用以下代碼的MAC ID。如何使用php獲取客戶端計算機MAC ID

<?php 

ob_start(); // Turn on output buffering 
system('ipconfig /all'); //Execute external program to display output 
$mycom=ob_get_contents(); // Capture the output into a variable 
ob_clean(); // Clean (erase) the output buffer 

$findme = "Physical"; 
$pmac = strpos($mycom, $findme); // Find the position of Physical text 
$mac=substr($mycom,($pmac+36),17); // Get Physical Address 

echo $mac; 
?> 

但其返回服務器mechines MAC ID ..我需要得到在我的網頁運行PC的MAC ID。

誰能幫我

+1

不能,客戶端瀏覽器和網絡服務器之間的所有IP通信都處於更高級別 – 2013-03-02 11:02:15

回答

-1

你不能在PHP這樣做。 PHP只能運行在你的服務器上。您可以在客戶機上執行的唯一代碼是JavaScript。

此處瞭解詳情:How to get Client Machine's Mac Address in a Web application

+0

PHP可以作爲獨立服務安裝,而無需其他服務(如Web服務器)。 只要您可以通過遠程方法(例如通過SSH類型連接)從ipconfig調用的輸出獲取,您可以以這種方式刮取用戶網絡設備的MAC ID,但它確實需要配置遠程機器以允許它有服務去做。 – 2016-07-14 19:50:55

0

MAC地址在PHP請求頭不發送,所以你將無法通過,這意味着訪問它。

0

您需要實現使用JAVA(而不是Javascript)來獲取用戶連接信息。

所有的互聯網連接和網絡設備都有MAC ID,這是識別設備,製造商和設備號碼。

這將依賴於JAVA被實現在用戶機器上運行,並且將是收集該信息的最可靠的方式。

-1

對於使用PHP + netstat的一個正確的解決方案,請參閱How can I get the MAC and the IP address of a connected client in PHP?

這個問題是過時了,但我設法找到它和所有其他的反應是愚蠢的,讓人們知道,你並不需要使用Java,即使這些信息沒有直接暴露給php腳本,它也可以用於每個tcp連接。

請注意,如果他在NAT後面(這可能是大多數用戶的情況),那麼您不太可能獲得客戶端真實的MAC或IP地址。這是有用的另一件事。

相關問題