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?
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?
Réponses:
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:
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, ce serait donc 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, je vous suggère d'utiliser un composant externe pour le faire: ActiveX pour IE, XPCOM pour Firefox (installé en tant qu'extension).
S'il s'agit d'une application intranet et que tous les clients utilisent DHCP, vous pouvez interroger le serveur DHCP pour l'adresse MAC d'une adresse IP donnée.
Je cherchais le même problème et suis tombé sur le code suivant.
Comment obtenir l'adresse MAC du client (Web):
Pour obtenir l'adresse MAC du client uniquement, nous pouvons nous fier au contrôle JavaScript et Active X de Microsoft.Il ne fonctionne dans IE que si Active X est activé pour IE. Comme l'ActiveXObject n'est pas disponible avec Firefox, il ne fonctionne pas avec Firefox et fonctionne correctement dans IE.
Ce script est pour IE uniquement:
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>