JavaScript 中的 MAC 地址

IT技术 javascript mac-address
2021-01-16 00:29:48

我知道我们可以通过 IE(ActiveX 对象)获取用户的 MAC 地址。

有没有办法使用 JavaScript 获取用户的 MAC 地址?

6个回答

我同意之前的所有答案,如果您能够直接从 Javascript 执行此操作,这将是一个隐私/安全漏洞。我能想到的有两件事:

  • 使用 Java(带有签名的小程序)
  • 使用签名的 Javascript,在 FF(和一般的 Mozilla)中获得比普通 JS 更高的权限(但设置起来相当复杂)
我很想知道,我们可以通过 JavaScript 从用户那里获得一个独特的信息,比如 mac 地址或序列号或类似的信息吗?还是电脑名?
2021-03-14 00:29:48

快速而简单的答案是否定的。

Javascript 是一种相当高级的语言,无法访问此类信息。

高级语言没有理由不能访问低级硬件信息。在这种情况下,这不会发生,因为这将是一个安全问题。
2021-03-28 00:29:48
那么所有提供示例代码以获取 MAC 地址的谷歌搜索结果呢?
2021-04-05 00:29:48
我真的不认为成为“高级语言”与 MAC 地址有任何关系,因为任何服务器端编程语言都允许您访问 ARP 表,即使是间接的(例如通过子进程)。我认为“客户端语言”会更好...
2021-04-08 00:29:48
我快速浏览了谷歌,我阅读的所有页面都是依赖于使用 ActiveX 对象的 IE 唯一解决方案。如果你可以发布一个链接显示否则......
2021-04-10 00:29:48

不,JavaScript 中无法获取 MAC 地址,主要是因为 MAC 地址唯一标识了正在运行的计算机,因此存在安全漏洞。

现在,如果您只需要一个唯一标识符,我建议您使用某种加密算法自己创建一个并将其存储在 cookie 中。

如果您确实需要知道计算机的 MAC 地址并且您正在为内部应用程序开发,那么我建议您使用外部组件来执行此操作:用于 IE 的 ActiveX,用于 Firefox 的 XPCOM(作为扩展安装)。

您知道 Safari 的外部组件吗?
2021-03-12 00:29:48
不,我实际上是建议创建一个。
2021-03-24 00:29:48
您如何建议创建唯一标识符?你如何使用加密算法来保证在他们的机器上运行它的用户得到一个唯一的 id?
2021-03-30 00:29:48
@Michael Wikipedia 列出了几个UUID 实现
2021-04-04 00:29:48

不。ActiveX 之所以能够做到这一点,是因为 ActiveX 是一个运行在客户端机器上的小应用程序。

我认为通过 JavaScript 访问此类信息将是一个安全漏洞。

如果这是针对 Intranet 应用程序并且所有客户端都使用 DHCP,则可以向 DHCP 服务器查询给定 IP 地址的 MAC 地址。