Adh*_*pta 94 javascript mac-address
我知道我们可以通过IE(ActiveX对象)获取用户的MAC地址.
有没有办法使用JavaScript获取用户的MAC地址?
Gre*_*her 52
我同意之前的所有答案,如果您能够直接从Javascript执行此操作,那将是一个隐私/安全漏洞.我能想到两件事:
Gat*_*ler 51
快速而简单的答案是否定的.
Javascript是一种高级语言,无法访问此类信息.
Vin*_*ert 27
不,你不能在JavaScript中获取MAC地址,主要是因为MAC地址唯一地标识正在运行的计算机,因此它将是一个安全漏洞.
现在,如果你需要的只是一个唯一的标识符,我建议你自己使用一些加密算法创建一个并将其存储在cookie中.
如果您确实需要知道计算机的MAC地址并且您正在为内部应用程序开发,那么我建议您使用外部组件来执行此操作:用于IE的ActiveX,用于Firefox的XPCOM(作为扩展安装).
小智 5
我正在寻找同样的问题并偶然发现了以下代码。
如何获取客户端MAC地址(Web):
要获取客户端MAC地址,我们只能依靠JavaScript和微软的Active X控件。如果IE启用了Active X,它只能在IE中工作。由于 ActiveXObject 在 Firefox 中不可用,因此它不能在 Firefox 中工作,但在 IE 中工作正常。
该脚本仅适用于 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();Run Code Online (Sandbox Code Playgroud)
<div id='box'></div>Run Code Online (Sandbox Code Playgroud)