Frage

Ich weiß, dass wir die MAC-Adresse eines Benutzers über IE (ActiveX-Objekte) erhalten können.

Gibt es eine Möglichkeit, die MAC-Adresse eines Benutzers mithilfe von JavaScript abzurufen?

War es hilfreich?

Lösung

Ich stimme allen vorherigen Antworten zu, dass es eine Datenschutz-/Sicherheitslücke darstellen würde, wenn Sie dies direkt über Javascript tun könnten.Da fallen mir zwei Dinge ein:

  • Verwendung von Java (mit einem signierten Applet)
  • Verwendung von signiertem Javascript, das in FF (und Mozilla im Allgemeinen) höhere Privilegien als normales JS erhält (aber die Einrichtung ist ziemlich kompliziert)

Andere Tipps

Die schnelle und einfache Antwort lautet: Nein.

Javascript ist eine recht hohe Sprache und hat keinen Zugriff auf diese Art von Informationen.

Nein, Sie können die MAC-Adresse nicht in JavaScript abrufen, hauptsächlich weil die MAC-Adresse den laufenden Computer eindeutig identifiziert und somit eine Sicherheitslücke darstellen würde.

Wenn Sie nun nur noch eine eindeutige Kennung benötigen, empfehle ich Ihnen, mithilfe eines kryptografischen Algorithmus selbst eine zu erstellen und diese in einem Cookie zu speichern.

Wenn Sie wirklich die MAC-Adresse des Computers kennen müssen UND für interne Anwendungen entwickeln, empfehle ich Ihnen, dafür eine externe Komponente zu verwenden:ActiveX für IE, XPCOM für Firefox (als Erweiterung installiert).

Nein.Der Grund dafür, dass ActiveX dies kann, liegt darin, dass ActiveX eine kleine Anwendung ist, die auf dem Computer des Clients ausgeführt wird.

Ich könnte mir vorstellen, dass der Zugriff auf solche Informationen über JavaScript eine Sicherheitslücke darstellt.

Wenn es sich um eine Intranetanwendung handelt und alle Clients DHCP verwenden, können Sie den DHCP-Server nach der MAC-Adresse für eine bestimmte IP-Adresse fragen.

Ich habe nach dem gleichen Problem gesucht und bin auf den folgenden Code gestoßen.

So erhalten Sie die Client-MAC-Adresse (Web):

Um die MAC-Adresse des Clients zu erhalten, können wir uns nur auf die JavaScript- und ActiveX-Steuerung von Microsoft verlassen. Dies funktioniert nur im IE, wenn ActiveX für den IE aktiviert ist.Da das ActiveXObject in Firefox nicht verfügbar ist, funktioniert es nicht mit Firefox und im IE einwandfrei.

Dieses Skript ist nur für 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>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top