So che possiamo ottenere l'indirizzo MAC di un utente tramite IE (oggetti ActiveX).
Esiste un modo per ottenere l'indirizzo MAC di un utente utilizzando JavaScript?
So che possiamo ottenere l'indirizzo MAC di un utente tramite IE (oggetti ActiveX).
Esiste un modo per ottenere l'indirizzo MAC di un utente utilizzando JavaScript?
Risposte:
Concordo con tutte le risposte precedenti che sarebbe una vulnerabilità di privacy / sicurezza se fossi in grado di farlo direttamente da Javascript. Ci sono due cose a cui posso pensare:
La risposta rapida e semplice è No.
Javascript è un linguaggio di alto livello e non ha accesso a questo tipo di informazioni.
No, non è possibile ottenere l'indirizzo MAC in JavaScript, principalmente perché l'indirizzo MAC identifica in modo univoco il computer in esecuzione, quindi sarebbe una vulnerabilità di sicurezza.
Ora, se tutto ciò di cui hai bisogno è un identificatore univoco, ti suggerisco di crearne uno tu stesso utilizzando un algoritmo crittografico e memorizzarlo in un cookie.
Se hai davvero bisogno di conoscere l'indirizzo MAC del computer E stai sviluppando per applicazioni interne, ti consiglio di utilizzare un componente esterno per farlo: ActiveX per IE, XPCOM per Firefox (installato come estensione).
Se si tratta di un'applicazione Intranet e tutti i client utilizzano DHCP, è possibile richiedere al server DHCP l'indirizzo MAC per un determinato indirizzo IP.
stavo cercando lo stesso problema e sono incappato nel seguente codice.
Come ottenere l'indirizzo MAC del client (Web):
Per ottenere l'unico indirizzo MAC del client, possiamo fare affidamento su JavaScript e sul controllo Active X di Microsoft. Funziona solo in IE se Active X abilita per IE. Poiché ActiveXObject non è disponibile con Firefox, non funziona con Firefox e funziona bene in IE.
Questo script è solo per 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>