Я знаю, що ми можемо отримати MAC-адресу користувача через IE (ActiveX-об'єкти).
Чи є спосіб отримати MAC-адресу користувача за допомогою JavaScript?
Я знаю, що ми можемо отримати MAC-адресу користувача через IE (ActiveX-об'єкти).
Чи є спосіб отримати MAC-адресу користувача за допомогою JavaScript?
Відповіді:
Я погоджуюся з усіма попередніми відповідями, що це буде вразливість конфіденційності / безпеки, якщо ви зможете це зробити безпосередньо з Javascript. Я можу придумати дві речі:
Швидка і проста відповідь - Ні.
Javascript є досить високим рівнем мови і не має доступу до такої інформації.
Ні, ви не можете отримати MAC-адресу в JavaScript, головним чином тому, що MAC-адреса однозначно ідентифікує працюючий комп'ютер, так що це буде вразливим захистом.
Тепер, якщо все, що вам потрібно, - це унікальний ідентифікатор, я пропоную вам створити його самостійно за допомогою криптографічного алгоритму та зберегти його у файлі cookie.
Якщо вам дійсно потрібно знати MAC-адресу комп’ютера І ви розробляєте для внутрішніх додатків, тоді я пропоную вам скористатися зовнішнім компонентом для цього: ActiveX для IE, XPCOM для Firefox (встановлюється як розширення).
Якщо це для програми інтрамережі, і всі клієнти використовують DHCP, ви можете запитувати сервер DHCP щодо MAC-адреси для вказаної IP-адреси.
я шукав ту саму проблему і натрапив на наступний код.
Як отримати MAC-адресу клієнта (Web):
Щоб отримати клієнтську 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>