Подтвердить что ты не робот

MAC-адреса в JavaScript

Я знаю, что мы можем получить MAC-адрес пользователя через IE (объекты ActiveX).

Есть ли способ получить MAC-адрес пользователя с помощью JavaScript?

4b9b3361

Ответ 1

Я согласен со всеми предыдущими ответами, что это будет уязвимость конфиденциальности/безопасности, если вы сможете сделать это прямо из Javascript. Я могу думать о двух вещах:

  • Использование Java (с подписанным апплетом)
  • Использование подписанного Javascript, который в FF (и Mozilla вообще) получает более высокие привилегии, чем обычные JS (но его довольно сложно настроить)

Ответ 2

Быстрый и простой ответ: Нет.

Javascript - довольно высокий язык и не имеет доступа к этой информации.

Ответ 3

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

Теперь, если вам нужен только уникальный идентификатор, я предлагаю вам создать его самостоятельно, используя криптографический алгоритм, и сохраните его в файле cookie.

Если вам действительно нужно знать MAC-адрес компьютера, и вы разрабатываете для внутренних приложений, то я предлагаю вам использовать внешний компонент для этого: ActiveX для IE, XPCOM для Firefox (установлен как расширение).

Ответ 4

Неа. Причина, по которой ActiveX может это сделать, заключается в том, что ActiveX - небольшое приложение, которое выполняется на клиентской машине.

Я бы предположил, что доступ к такой информации через JavaScript будет уязвимостью безопасности.

Ответ 5

Если это приложение для интрасети и все клиенты используют DHCP, вы можете запросить DHCP-сервер для MAC-адреса для заданного IP-адреса.

Ответ 6

я искал ту же проблему и наткнулся на следующий код.

Как получить MAC-адрес клиента (Интернет):

Чтобы получить клиентский MAC-адрес единственным способом, мы можем положиться на JavaScript и Active X-контроль Microsoft. Он работает только в IE, если Active X разрешен для IE. Поскольку ActiveXObject недоступен в Firefox, он не работает с Firefox и отлично работает в IE.

Этот скрипт предназначен только для IE:

function showMacAddress() {
    var obj = new ActiveXObject("WbemScripting.SWbemLocator");
    var s = obj.ConnectServer(".");
    var properties = s.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration");
    var e = new Enumerator(properties);
    var output;
    output = '<table border="0" cellPadding="5px" cellSpacing="1px" bgColor="#CCCCCC">';
    output = output + '<tr bgColor="#EAEAEA"><td>Caption</td><td>MACAddress</td></tr>';
    while (!e.atEnd()) {
        e.moveNext();
        var p = e.item();
        if (!p) continue;
        output = output + '<tr bgColor="#FFFFFF">';
        output = output + '<td>' + p.Caption; +'</td>';
        output = output + '<td>' + p.MACAddress + '</td>';
        output = output + '</tr>';
    }
    output = output + '</table>';
    document.getElementById("box").innerHTML = output;
}

showMacAddress();
<div id='box'></div>

Ответ 7

Вы не можете получить доступ к MAC address, хотя вы можете получить IP address пользователя

<script type="application/javascript">
    function getip(json){
      alert(json.ip);    // alerts the ip address
    }
</script>

<script type="application/javascript" src="http://jsonip.appspot.com/?callback=getip">
</script>

Ссылка: (см. здесь).