如何使用Javascript或Java Servlet获取客户端信息?

时间:2010-04-21 07:08:45

标签: java javascript servlets

如何使用Javascript或Java Servlet获取客户端信息?

客户端信息,例如客户端的计算机名称,IP地址等。

提前致谢。

3 个答案:

答案 0 :(得分:1)

您可以从servlet中的HTTP请求标头中获取一些信息,例如user-agent(以便您知道客户端正在使用哪个浏览器(或者想让我们认为它正在使用))和remote-addr(客户端的IP地址(如果客户端正在使用它,则代理服务器的IP地址))。

String userAgent = request.getHeader("user-agent"); // Browser identifier.
String remoteAddr = request.getRemoteAddr(); // IP address.

您无法使用Javascript访问系统环境变量。那将是一个安全漏洞。有一些方法可以使用ActiveX,但这只适用于Redmond团队开发的某个Web浏览器,然后,客户端需要降低其安全设置以允许它运行。这是一个很大的禁忌。

获取计算机名称的唯一方法是运行由网页提供服务的客户端应用程序,并让此客户端应用程序嗅探它并将其发送到服务器端。例如Java Applet分别使用System.getProperty("COMPUTERNAME")java.net.URL。但是你需要签名,否则它也会提示安全警告。

答案 1 :(得分:0)

通过JS获取用户IP

var ip = '<!--#echo var="REMOTE_ADDR"-->';

虽然我不确定计算机名称,但我认为它必须涉及ActiveX。它可以通过IE中的ActivexObject实现。不确定它是否可能,高度怀疑它,因为它不是最安全的。

答案 2 :(得分:0)

根据您的网络环境(例如,如果在Intranet上),您可以通过在客户端的IP地址上执行反向DNS或创建等效的服务器服务来获取客户端名称。