Как получить Mac-адрес клиентского компьютера в веб-приложении - PullRequest
12 голосов
/ 28 марта 2012

Мне нужно получить Mac-адрес компьютера клиента, на котором работает мой веб-сайт. Итак, как получить Mac-адрес компьютера клиента (не Mac-адреса сервера, на котором размещен веб-сайт). Мне нужен скрипт, совместимый с IE, Firefox, Safari и Chrome.

Ответы [ 3 ]

8 голосов
/ 28 марта 2012

Единственный способ добиться этого - использовать апплет или плагин, который, например, может быть запрограммирован в java (хотя сама java может не разрешить это в соответствии с Получение MAC-адреса на веб-странице с помощью Java-апплета ), поскольку javascript, естественно, не будет раскрывать такую ​​информацию.Наконец, вы также можете найти эту информацию со стороны сервера, если она находится во внутренней сети, как это часто делается с целочисленными страницами полу-приватной сети Wi-Fi.

Основываясь на комментариях ниже: Поскольку это внутренняя сеть, вы можете получить ее.MAC-адрес следующим образом на стороне asp.net.Вы выполните следующую команду arp -a, которая вернет вам список всех IP-адресов со связанными mac-адресами.Затем, используя что-то вроде

Request.Servervariables("REMOTE_ADDR")

, вы сможете найти IP-адрес пользователя, который вы можете затем сопоставить с данными, полученными из команды arp, и вуаля, у вас есть свой MAC-адрес длятекущий пользователь.

7 голосов
/ 28 марта 2012

У меня есть сценарий, в котором некоторым пользователям разрешен доступ с некоторого стационарного ПК (для которого MAC-адрес, введенный администратором, будет совпадать с системой, с которой пользователь пытается войти), он / она не сможет войти с другогочем те ПК

Чтобы достичь вышеупомянутого правильного способа, вы должны полагаться на сертификаты клиента для выполнения аутентификации.Если действительный сертификат клиента не представлен, то в запросе будет отказано.

Более подробную информацию о защите веб-сайта можно получить с помощью клиентских сертификатов @ http://support.microsoft.com/kb/315588

Если пользователи находятся во внутренней сети, предпочтительный способ их аутентификации - использование встроенной проверки подлинности Windows, как описано http://support.microsoft.com/kb/323176 и авторизация будет основана на списке контроля доступа

2 голосов
/ 28 марта 2012

Похоже, это внутренняя сеть.

Другой метод заключается в том, что с помощью MAC-адреса сервер DHCP может назначать определенные диапазоны IP-адресов. затем вы можете проверить этот диапазон ip в коде вашего сервера. В javascript нет способа получить MAC-адрес, но вы можете легко получить ip. Также, возможно, ваш dhcp-сервер может публиковать таблицы ip-адресов mac-адресов для вашего веб-сервера для использования через API или что-то еще - не уверен в этом, но, возможно, стоит изучить.

...