2016-07-14 2 views
1

Может ли браузер внутри машины получить MAC-адрес компьютера? Я создаю API, который нуждается в получении уникальной идентификации машины (в идеале это может быть MAC-адрес), однако после обсуждения и исследования я понимаю, что браузеры не поддерживают это. Если нет, каким-либо образом браузер может получить данные, связанные с устройством, которые могут быть использованы для замены MAC-адреса?получить адрес mac из браузера, включая chrome, windows, safari, firefox

+0

Вы не можете получить эту информацию из JavaScript. Невозможно определить кого-либо напрямую, и все, что вы попробуете, также может быть изменено. Зачем вам нужно знать машину? Может быть, есть другое решение. – epascarello

+0

пытается ограничить машину, может использовать приложение –

+0

. Вам нужно будет установить какой-то плагин, который должен обойти безопасность, чтобы получить адрес mac [(даже плагины не имеют доступа)] (http://stackoverflow.com/questions/22281307/is-it-possible-to-get-mac-address-by-chrome-extension), или вам нужно переосмыслить его и сделать так, чтобы пользователям приходилось регистрироваться или, возможно, думать о родном приложении, а не о веб-приложение. – epascarello

ответ

0

Ответ: нет, браузер не может получить доступ к MAC-адресу устройства, с обычными Js. Однако вы изучили Node JS? Он имеет Mac Plugin , который, возможно, может быть использован в сочетании с другим плагином под названием Browserify, который мог бы получить то, что вы хотели. Преимущество использования узла - огромное количество плагинов, которые позволяют вам делать что-то с помощью js в вашем браузере, иначе вы не можете.

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

0

Для IE и ActiveX позволило:

function networkInfo(){ 

var wmi = new ActiveXObject ("WbemScripting.SWbemLocator"); 
var service = wmi.ConnectServer("."); 


e = new Enumerator(service.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")); 


for(; !e.atEnd(); e.moveNext()) { 
    var s = e.item(); 
    var macAddress = unescape(s.MACAddress); 

} 

return macAddress; 
} 
alert(networkInfo()); 
Смежные вопросы