Sé que podemos obtener la dirección MAC de un usuario a través de IE (objetos ActiveX).
¿Existe alguna forma de obtener la dirección MAC de un usuario mediante JavaScript?
Sé que podemos obtener la dirección MAC de un usuario a través de IE (objetos ActiveX).
¿Existe alguna forma de obtener la dirección MAC de un usuario mediante JavaScript?
Respuestas:
Estoy de acuerdo con todas las respuestas anteriores en que sería una vulnerabilidad de privacidad / seguridad si pudiera hacer esto directamente desde Javascript. Hay dos cosas en las que puedo pensar:
La respuesta rápida y sencilla es No.
Javascript es un lenguaje de bastante alto nivel y no tiene acceso a este tipo de información.
No, no puede obtener la dirección MAC en JavaScript, principalmente porque la dirección MAC identifica de forma única la computadora en ejecución, por lo que sería una vulnerabilidad de seguridad.
Ahora, si todo lo que necesita es un identificador único, le sugiero que cree uno usted mismo usando algún algoritmo criptográfico y lo almacene en una cookie.
Si realmente necesita saber la dirección MAC de la computadora Y está desarrollando para aplicaciones internas, le sugiero que use un componente externo para hacerlo: ActiveX para IE, XPCOM para Firefox (instalado como una extensión).
Si se trata de una aplicación de intranet y todos los clientes utilizan DHCP, puede consultar al servidor DHCP la dirección MAC para una dirección IP determinada.
Estaba buscando el mismo problema y me encontré con el siguiente código.
Cómo obtener la dirección MAC del cliente (Web):
Para obtener la dirección MAC del cliente, solo podemos confiar en JavaScript y el control Active X de Microsoft. Solo funciona en IE si Active X está habilitado para IE. Como ActiveXObject no está disponible con Firefox, no funciona con Firefox y funciona bien en IE.
Este script es solo para 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>