как получить MAC-идентификатор клиентского компьютера с помощью php

Для получения идентификатора Mac я использую следующий код.

<?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;
?>

Но он возвращает MAC-идентификатор сервера. Мне нужно получить MAC-идентификатор компьютера, на котором работает моя веб-страница.

Может кто-нибудь помочь мне


person AGK    schedule 02.03.2013    source источник
comment
Вы не можете, все IP-коммуникации между клиентским браузером и веб-сервером находятся на более высоком уровне   -  person Mark Baker    schedule 02.03.2013


Ответы (4)


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

person Aydin Hassan    schedule 02.03.2013

Вам нужно будет реализовать использование JAVA (НЕ Javascript) для получения информации о подключении пользователей.

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

Это будет зависеть от реализации JAVA для работы на компьютере пользователя и будет наиболее надежным способом сбора этой информации.

person Mark Giblin    schedule 10.07.2013

Вы не можете сделать это в php. Php всегда работает только на вашем сервере. Единственный код, который вы можете выполнить на клиентской машине, - это JavaScript.

Дополнительная информация здесь: Как получить клиентский компьютер Mac Адрес в веб-приложении

person SteveP    schedule 02.03.2013
comment
PHP можно установить как отдельную службу без каких-либо других служб, таких как веб-сервер. Если вы можете получить с помощью удаленных методов, например, через соединение типа SSH, вывод вызова ipconfig, вы можете очистить MAC-идентификатор сетевого устройства пользователя таким образом, но для этого требуется, чтобы удаленный компьютер был настроен, чтобы разрешить это, и иметь услуги для этого. - person Mark Giblin; 14.07.2016

Для правильного решения с использованием PHP + netstat см. Как я могу получить MAC и IP-адрес подключенного клиента в PHP?

Этот вопрос устарел, но поскольку мне удалось его найти, а все остальные ответы глупы, пусть будет известно, что вам не нужно использовать Java, и хотя эта информация напрямую не предоставляется скриптам php, она доступна для каждого tcp связь так или иначе.

Обратите внимание, что вы вряд ли получите настоящий Mac или IP-адрес клиента, если он находится за NAT (что, вероятно, будет иметь место для большинства ваших пользователей). Так что полезность - другое дело.

person Paweł Sroka    schedule 22.06.2014