javascript - node - php get mac address




MAC-адреса в JavaScript (4)

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

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


Быстрый и простой ответ - нет.

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


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


Нет. ActiveX может сделать это потому, что ActiveX - это небольшое приложение, которое работает на компьютере клиента.

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


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

Как получить 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>





mac-address