从Rails应用程序检索客户端系统信息

时间:2008-11-12 06:40:37

标签: ruby-on-rails ruby

是否可以从Ruby on Rails应用程序中检索客户端计算机的CPUID和MAC地址?有没有可用的插件?

4 个答案:

答案 0 :(得分:6)

我很确定通过Rails应用程序解析客户端计算机的/ proc文件系统是不可能的(感谢上帝)。

你可以做的是在某种程度上使用Javascript。互联网上有一些网站(主要是隐私扫描程序)利用Javascript来显示有关客户端系统的大量信息。这甚至可能适用于客户端使用的CPU类型(假设这是'CPUID'的意思)。

Javascript和Rails都无法为您做什么,它会显示客户端的MAC地址(假设'macid'表示MAC地址)。如果您深入了解TCP / IP网络的完成方式,您会发现这是设计上的。另一个网段(比如互联网)中的计算机从不打算知道你的MAC地址,也不需要。

如果你真的想知道某人的MAC,你需要使用像Java applet或ActiveX控件这样的东西(尽管这会限制你到某个平台)。这些东西应该在发送隐私敏感信息(如MAC地址)之前提示您的用户进行确认/许可。

答案 1 :(得分:3)

Ruby on Rails用于编写Web应用程序。 Web浏览器不仅可以提供计算机的MAC地址和CPUID。

答案 2 :(得分:2)

仅用于记录:如果(且仅当)服务器和客户端在同一网段上,您可以 - 在Linux / Un * x系统上 - 在服务器上使用arp命令,因此在Rails应用程序中,找出客户端的MAC地址,如下所示:

$ arp 192.168.1.1
Address          HWtype  HWaddress           Flags Mask            Iface
192.168.1.1      ether   1c:c6:3c:48:bc:c0   C                     wlan0

HWaddress列中的值是MAC地址。

答案 3 :(得分:0)

如果是localhost网络(intranet)上的计算机,则可以使用ruby来调用某些命令行管理工具。例如,您可以对IP地址执行反向查找以获取计算机名称。不确定Mac地址......您可能可以调用vbscript来执行此操作。