Eu sei que podemos obter o endereço MAC de um usuário via IE (objetos ActiveX).
Existe uma maneira de obter o endereço MAC de um usuário usando JavaScript?
Eu sei que podemos obter o endereço MAC de um usuário via IE (objetos ActiveX).
Existe uma maneira de obter o endereço MAC de um usuário usando JavaScript?
A resposta rápida e simples é No.
Javascript é bastante uma linguagem de alto nível e não tem acesso a este tipo de informação.
Se isto é para um aplicativo de intranet e todos os clientes usam DHCP, você pode consultar o servidor DHCP para o endereço MAC para um determinado endereço IP.
Não. A razão ActiveX pode fazê-lo é porque ActiveX é um pequeno aplicativo que roda na máquina do cliente.
Eu imagino que o acesso a tais informações via JavaScript seria uma vulnerabilidade de segurança.
Não, você não pode obter o endereço MAC em JavaScript, principalmente porque o endereço MAC exclusivamente identifica o computador que executa de modo que seria uma vulnerabilidade de segurança.
Agora, se tudo que você precisa é um identificador único, eu sugiro que você criar um você mesmo usando algum algoritmo criptográfico e armazená-lo em um cookie.
Se você realmente precisa de saber o endereço MAC do computador e você está desenvolvendo para aplicações internas, então eu sugiro que você use um componente externo para fazer isso: ActiveX para o IE, XPCOM para o Firefox (instalado como uma extensão).
Concordo com todas as respostas anteriores que seria uma vulnerabilidade de privacidade / segurança se você seria capaz de fazer isso diretamente do Javascript. Há duas coisas que eu posso pensar de:
Você não pode acessar a MAC address, embora você pode obter o IP addressdo usuário
<script type="application/javascript">
function getip(json){
alert(json.ip); // alerts the ip address
}
</script>
<script type="application/javascript" src="http://jsonip.appspot.com/?callback=getip">
</script>
Referência: (Veja aqui ).
eu estava procurando o mesmo problema e deparei com o seguinte código.
Como obter o endereço MAC do cliente (Web):
Para obter o endereço MAC do cliente única maneira que podemos confiar em JavaScript e controle Active X de Microsoft.It é só trabalhar no IE se o Active X habilitar para o IE. Como o ActiveXObject não está disponível com o Firefox, não o seu trabalho com o firefox e está funcionando bem no IE.
Este script é apenas para 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>