Domanda

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?

È stato utile?

Soluzione

Concordo con tutte le risposte precedenti sul fatto che sarebbe una vulnerabilità della privacy/sicurezza se potessi farlo direttamente da Javascript.Ci sono due cose che mi vengono in mente:

  • Utilizzando Java (con un'applet firmata)
  • Utilizzando Javascript firmato, che in FF (e Mozilla in generale) ottiene privilegi più elevati rispetto al normale JS (ma è abbastanza complicato da configurare)

Altri suggerimenti

La risposta rapida e semplice è no.

Javascript è un linguaggio di livello piuttosto elevato 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 rappresenterebbe una vulnerabilità della sicurezza.

Ora, se tutto ciò di cui hai bisogno è un identificatore univoco, ti suggerisco di crearne uno tu stesso utilizzando un algoritmo crittografico e di memorizzarlo in un cookie.

Se hai davvero bisogno di conoscere l'indirizzo MAC del computer E stai sviluppando applicazioni interne, allora ti suggerisco di utilizzare un componente esterno per farlo:ActiveX per IE, XPCOM per Firefox (installato come estensione).

No.Il motivo per cui ActiveX può farlo è perché ActiveX è una piccola applicazione che viene eseguita sul computer del client.

Immagino che l'accesso a tali informazioni tramite JavaScript sarebbe una vulnerabilità della sicurezza.

Se si tratta di un'applicazione intranet e tutti i client utilizzano DHCP, è possibile interrogare il server DHCP per l'indirizzo MAC per un determinato indirizzo IP.

stavo cercando lo stesso problema e mi sono imbattuto nel seguente codice.

Come ottenere l'indirizzo MAC del client (Web):

Per ottenere l'indirizzo MAC del client possiamo fare affidamento solo sul controllo JavaScript e Active X di Microsoft. Funziona solo in IE se Active X è abilitato per IE.Poiché ActiveXObject non è disponibile con Firefox, non funziona con Firefox e funziona correttamente in IE.

Questo script è solo per IE:

<script language="javascript" type="text/javascript">
    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;
    }
</script>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top