gpt4 book ai didi

javascript - 在 Mozilla 中获取 MAC 地址,ActiveXObject 不起作用

转载 作者:行者123 更新时间:2023-12-02 18:10:08 25 4
gpt4 key购买 nike

var locator = new ActiveXObject("WbemScripting.SWbemLocator");
var service = locator.ConnectServer(".");
var properties = service.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration");
var e = new Enumerator(properties);
var MACaddress = '';
alert("Its Inside");
for (; !e.atEnd(); e.moveNext()) {
var p = e.item();
if (p.MACAddress) {
MACaddress = MACaddress + p.MACAddress + ',';
}
}
MACaddress = MACaddress.substring(0, MACaddress.length - 1);
MACaddress = replaceAll(MACaddress, ':', '-');
location.href = location.href + '?CAT=MAC&MACAddr=' + MACaddress;

这个函数在 IE 中工作正常,但在 mozilla firefox 中却在第一行本身中断。我将 locator.ConnectServer(".") 更改为 locator.ConnectServer("MACHINE"),但它在 Mozilla Firefox 中仍然无法正常工作。

最佳答案

简单的答案:你不能。

出于安全原因,现代浏览器将浏览器中发生的所有事情都沙箱化(或尝试沙箱化)。沙箱可以防止对系统的任何直接访问,包括。文件系统、硬件等(这并不意味着浏览器不与硬件通信,而是作为用户我们无法直接访问它)。

IE 是唯一支持 ActiveX(这是 Microsoft 自己的技术)的浏览器,但出于同样的原因(主要是..)安全性,不应依赖它。

如果您想将 MAC 地址用于某种唯一标识符/安全性,您可以查看新的 Web Cryptography API然而,在撰写本文时,它仍处于草稿模式,并未得到广泛支持(但将来会或打算跨浏览器),因此目前可能不是非常有用的建议。

在任何情况下,您都可以使用服务器端根据各种因素生成唯一标识符,并使用 cookie 或 localStorage 等将其本地存储在浏览器中。

关于javascript - 在 Mozilla 中获取 MAC 地址,ActiveXObject 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19784258/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com