Question

Je sais que nous pouvons obtenir l'adresse MAC d'un utilisateur via IE (objets ActiveX).

Existe-t-il un moyen d'obtenir l'adresse MAC d'un utilisateur à l'aide de JavaScript ?

Était-ce utile?

La solution

Je suis d'accord avec toutes les réponses précédentes selon lesquelles ce serait une vulnérabilité de confidentialité/sécurité si vous pouviez le faire directement à partir de Javascript.Il y a deux choses auxquelles je peux penser :

  • Utilisation de Java (avec une applet signée)
  • Utiliser du Javascript signé, qui dans FF (et Mozilla en général) obtient des privilèges plus élevés que le JS normal (mais il est assez compliqué à mettre en place)

Autres conseils

La réponse simple et rapide est non.

Javascript est un langage de haut niveau et n'a pas accès à ce type d'informations.

Non, vous ne pouvez pas obtenir l'adresse MAC en JavaScript, principalement parce que l'adresse MAC identifie de manière unique l'ordinateur en cours d'exécution, il s'agirait donc d'une vulnérabilité de sécurité.

Maintenant, si tout ce dont vous avez besoin est un identifiant unique, je vous suggère d'en créer un vous-même à l'aide d'un algorithme cryptographique et de le stocker dans un cookie.

Si vous avez vraiment besoin de connaître l'adresse MAC de l'ordinateur ET que vous développez pour des applications internes, alors je vous suggère d'utiliser un composant externe pour le faire :ActiveX pour IE, XPCOM pour Firefox (installé en tant qu'extension).

Non.La raison pour laquelle ActiveX peut le faire est qu'ActiveX est une petite application qui s'exécute sur la machine du client.

J'imagine que l'accès à de telles informations via JavaScript serait une vulnérabilité de sécurité.

S'il s'agit d'une application intranet et que tous les clients utilisent DHCP, vous pouvez demander au serveur DHCP l'adresse MAC d'une adresse IP donnée.

je cherchais le même problème et je suis tombé sur le code suivant.

Comment obtenir l'adresse MAC du client (Web) :

Pour obtenir l'adresse MAC du client uniquement, nous pouvons compter sur le contrôle JavaScript et Active X de Microsoft. Cela ne fonctionne que dans IE si Active X est activé pour IE.Comme ActiveXObject n'est pas disponible avec Firefox, il ne fonctionne pas avec Firefox et fonctionne correctement dans IE.

Ce script est uniquement destiné à 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>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top