如何检查请求来自同一客户端

时间:2015-05-11 17:22:34

标签: java javascript

我正在使用jsp开发一个Web应用程序。我的要求是确定请求是否来自同一台机器。如何指纹设备...我试图获取IP地址但jsp总是返回服务器IP地址。为此,我引用了以下问题。get IP from client是否有任何方法可以使用java脚本或jsp获取IP或Mac地址或客户端PC的唯一标识符.....

4 个答案:

答案 0 :(得分:2)

您始终可以设置Cookie。检查请求中的cookie(当它到达Java时)。如果它存在并且它具有您知道的值,那么它就是现有用户。如果它不在那里,它是一个新用户,您应该为该用户设置一个并跟踪您放入的值。

如果所有其他选项都不可行(例如Cookie,IP,用户代理或所有其他选项的组合),那么您可能需要考虑让用户注册并登录。这样,您就可以完全了解谁在实际操作。

答案 1 :(得分:0)

当您的服务器位于像Apache这样的Web服务器后面时,IP请求将不起作用。更好的方法是为第一个请求分配一个id并将其放入cookie中。但是,如果您想在多个浏览器中识别相同的客户端,cookie可能对您没有帮助。你能对你的要求有点解释吗?什么构成了独特的客户?可以接受相同的浏览器/多个浏览器/子网/或其他什么?这有用吗 - How do I uniquely identify computers visiting my web site?

检查https://www.chromium.org/Home/chromium-security/client-identification-mechanisms,它解释了不同的客户端识别机制。 HTML appcache听起来像一个选项(但如果不允许使用cookie,则不确定是否在客户端计算机的磁盘上存储了某些内容)。

答案 2 :(得分:0)

在你的jsp上你可以使用cookies。你可以这样:

<%


   Cookie alreadyAccessed = new Cookie("already_accessed", "true");

   // Set expiry date after 24 Hrs
   alreadyAccessed.setMaxAge(60*60*24);

   // Add the cookie in the response header.
   response.addCookie( alreadyAccessed );
%>

答案 3 :(得分:0)

您无法获取MAC地址。您可以选择的其他选项是:

  1. 设置一个唯一的Cookie并使用它。
  2. 除了cookie之外,还可以使用IP地址和浏览器信息以获得更多保证。
  3. 远程主机和地址差异,您可以到达Remote Address and Remote Host