JavaScript中的MAC地址

JavaScript中的MAC地址,javascript,mac-address,Javascript,Mac Address,我知道我们可以通过IE(ActiveX对象)获取用户的MAC地址 有没有一种方法可以使用JavaScript获取用户的MAC地址?快速简单的答案是否定的 Javascript是一种相当高级的语言,无法访问此类信息。如果这是针对intranet应用程序的,并且所有客户端都使用DHCP,则可以在DHCP服务器上查询给定IP地址的MAC地址。否。ActiveX之所以能够做到这一点,是因为ActiveX是一个在客户机上运行的小应用程序 我认为通过JavaScript访问此类信息是一个安全漏洞。不,您无法

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


有没有一种方法可以使用JavaScript获取用户的MAC地址?

快速简单的答案是否定的


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

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

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


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

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

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


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

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

  • 使用Java(带签名的小程序)
  • 使用签名Javascript,在FF(以及一般的Mozilla)中获得比普通JS更高的权限(但设置起来相当复杂)

我在寻找相同的问题,偶然发现了以下代码

如何获取客户端MAC地址(Web):

要获得客户端MAC地址,我们只能依赖Microsoft的JavaScript和Active X控件。只有启用Active X才能在IE中工作。由于ActiveXObject不适用于Firefox,它不适用于Firefox,并且在IE中工作良好

此脚本仅适用于IE:

函数showMacAddress(){
var obj=新的ActiveXObject(“WbemScripting.SWbemLocator”);
var s=obj.ConnectServer(“.”);
var properties=s.ExecQuery(“从Win32_NetworkAdapterConfiguration中选择*);
var e=新枚举数(属性);
var输出;
输出='';
输出=输出+CaptionMACAddress;
而(!e.atEnd()){
e、 moveNext();
var p=e.项目();
如果(!p)继续;
输出=输出+“”;
输出=输出+''+p.标题;+'';
输出=输出+“”+p.MACAddress+“”;
输出=输出+“”;
}
输出=输出+“”;
document.getElementById(“box”).innerHTML=输出;
}
showMacAddress()

那么,所有谷歌搜索结果如何提供获取MAC地址的示例代码呢?我快速浏览了一下谷歌,我读到的所有页面都是IE独有的解决方案,依赖于使用ActiveX对象。如果你可以发布一个链接来显示其他内容……我真的不认为成为一种“高级语言”与MAC地址有任何关系,因为任何服务器端编程语言都允许你访问ARP表,甚至是间接的(例如通过子进程)。我认为“客户端语言”会更好…高级语言没有理由不能访问低级硬件信息。在这种情况下不会发生这种情况,因为这将是一个安全问题。您知道Safari的外部组件吗?不知道。我实际上建议创建一个。您建议如何创建唯一标识符?你如何使用加密算法来保证任何在机器上运行它的用户都能获得唯一的id?@Michael Wikipedia列出了几个我很想知道的问题,我们能通过JavaScript从用户那里获得唯一的信息,比如mac地址、序列号等吗?还是电脑名?