我必须获取运行我网站的客户端PC的Mac地址。那么如何获取客户端机器的Mac地址(而不是托管网站的服务器Mac地址)。我需要与IE,Firefox,Safari和Chrome兼容的脚本。
答案 0 :(得分:8)
实现这一目标的唯一方法是使用applet或插件,例如可以在java中编程(虽然java本身可能不允许根据Getting MAC address on a web page using a Java applet),因为javascript自然不会透露这种信息。最后,如果它在内部网络上,您也可以从服务器端找到这些信息,这通常是通过半私有wifi网络登陆页面完成的。
基于以下评论:由于它是内部网络,您可以在asp.net端按如下方式检索mac地址。执行以下命令arp -a
,它将返回所有具有相关mac地址的ip地址列表。接下来使用
Request.Servervariables("REMOTE_ADDR")
你应该能够找到下一个与你从arp命令中检索到的数据匹配的用户IP地址,瞧,你有当前用户的mac地址。
答案 1 :(得分:7)
我有一些情况允许一些用户从一些固定的PC(for admin输入的MAC地址将与系统匹配 用户尝试登录),他/她将无法从其他人登录 比那些PC
要以正确的方式实现上述目标,您应该依靠客户端证书来执行身份验证。如果未显示有效的客户端证书,则该请求将被拒绝。
您可以使用客户端证书@ http://support.microsoft.com/kb/315588
找到有关保护网站的更多信息如果用户位于内部网络中,则对其进行身份验证的首选方法是使用http://support.microsoft.com/kb/323176所述的集成Windows身份验证,授权将基于访问控制列表
答案 2 :(得分:2)
听起来这是一个内部网络。
另一种方法是通过使用mac地址,dhcp服务器可以分配特定的ip范围。然后,您可以在服务器代码中检查该IP范围。没有办法在javascript中获取mac地址,但你可以轻松获得ip。也许你的dhcp服务器可以发布你的web服务器的mac地址ip地址表,可以通过api或其他东西使用 - 不确定但是可能值得研究。