`
longforfreedom
  • 浏览: 199084 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

使用代理后,使用在JSP中获取真实IP

    博客分类:
  • JAVA
阅读更多

使用代理后

request.getRemoteAddr(); 取到的不是真正的客户端IP地址而是代理服务器的地址

可以遍历一下Header信息,一般会在某个Header字段中写入真实客户的IP地址

<%
response.setContentType("text/plain");
out.println("Request Headers:");
Enumeration names = request.getHeaderNames();
while (names.hasMoreElements()) {
  String name = (String) names.nextElement();
  Enumeration values = request.getHeaders(name); // support multiple values
  if (values != null) {
    while (values.hasMoreElements()) {
      String value = (String) values.nextElement();
      out.println("<br/>"+ name + ": " + value);
    }
  }
}

%>
 

一般来说会是这个

out.println("REAL IP:" + request.getHeader("x-remote-addr"));

分享到:
评论

相关推荐

    jsp获取浏览者真实IP地址方法

    ### JSP中获取浏览者真实IP地址的详细解析 在Web开发中,获取客户端的IP地址是一项基础且重要的功能,特别是在需要追踪用户地理位置、限制访问权限或是进行数据分析时。然而,在复杂的网络环境中,如存在代理服务器...

    JSP获取客户端IP地址浏览器版本操作系统.pdf

    但是,在使用反向代理软件的情况下,这种方法将无法获取到客户端的真实IP地址。因为反向代理软件会将客户端的请求转发到服务器端,而服务器端无法直接获取到客户端的IP地址。解决这个问题的方法是,使用`request....

    jsp页面得到客户端的真是ip

    本文将详细介绍如何在 JSP 页面中获取客户端的真实 IP 地址,并考虑到反向代理技术的影响。 #### 一、理解 `request.getRemoteAddr()` 和 `request.getHeader("x-forwarded-for")` 1. **`request.getRemoteAddr()`...

    JSP如何获取客户端真实IP地址

    这种方法在大部分情况下都是有效的,但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。 如果使用了反向代理软件,将http://192.168.1.110:3306/ 的URL反向代理为http://www.8888.com/ 的...

    获取访问者真实的IP地址

    在现代Web应用开发过程中,获取客户端的真实IP地址是一项非常重要的功能。这不仅可以帮助我们分析用户行为、优化服务,还能用于安全防护,例如防止恶意攻击等场景。本文将详细介绍如何通过Java Web应用中的JSP技术...

    JSP 获取用户的真实IP两种实现方法详解

    如果使用了反向代理软件,用 request.getRemoteAddr()方法获取的IP地址是:127.0.0.1或 192.168.1.110,而并不是客户端的真实IP。   经过代理以后,由于在客户端和服务之间增加了中间层,因此服务器无法直接拿到...

    jsp获取客户端IP地址的方法

    在Java语言开发的Web应用中,尤其是在使用Java Server Pages(JSP)技术时,获取客户端的IP地址是常见的需求之一,这可以用于日志记录、用户访问统计、安全性检查等多种场景。本文详细介绍了几种在JSP中获取客户端IP...

    jsp获取客户端IP地址的方法.docx

    本文详细介绍了在JSP环境中获取客户端IP地址的方法,包括使用`HttpServletRequest`对象以及如何处理多级代理的情况。通过上述方法,开发者可以更准确地获取客户端的真实IP地址,从而为后续的安全控制、数据统计等...

    JSP 获取真实IP地址的代码

    如果使用了反向代理软件,用 request.getRemoteAddr()方法获取的IP地址是:127.0.0.1或 192.168.1.110,而并不是客户端的真实IP。 经过代理以后,由于在客户端和服务之间增加了中间层,因此服务器无法直接拿到...

    Java获取客户端IP及Mac地址(同网段).rar

    如果使用了反向代理软件,用request.getRemoteAddr()方法获取的IP地址是:127.0.0.1或192.168.1.110,而并不是客户端的真实IP。所以我们这里添加了条件验证,将客户端IP及Mac地址(同网段)与本地本地IP及Mac地址...

    JSP获取客户端IP地址-浏览器版本-操作系统[参考].pdf

    "JSP获取客户端IP地址-浏览器版本-操作系统" 在 JSP 中,获取客户端的 IP 地址、浏览器版本和操作系统信息是一项重要的任务。下面我们将详细介绍如何获取这些信息。 获取客户端的 IP 地址 在 JSP 中,获取客户端...

    获取客户端IP地址所需Jar包

    然而,在某些情况下,如通过反向代理服务器(如Nginx、Apache)或负载均衡器访问时,这个方法可能返回的是代理服务器的IP而非客户端的真实IP。这时,我们需要检查X-Forwarded-For头部,该头部通常包含了客户端的IP...

    java 获取客户端ip mac地址

    如果需要获取真实的客户端IP地址,还需要检查HTTP头部信息中的`X-Forwarded-For`字段。 #### 二、获取客户端 MAC 地址 获取客户端的MAC地址相对较为复杂,一般不推荐直接在Web应用中实现该功能。但在某些特定场景...

    Java正确获取客户端真实IP方法整理.docx

    但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。 如果使用了反向代理软件,将http://192.168.1.110:2046/的URL反向代理为http://www.abc.com/的URL时,用request.getRemoteAddr()方法...

    解析ip,用户给一个请求,获取用户的ip,浏览器,操作系统等信息

    然而,如果应用部署在反向代理服务器如Nginx或Apache后面,`getRemoteAddr()`可能会返回代理服务器的IP而非用户的真实IP。为解决这个问题,我们可以检查`X-Forwarded-For`头,它通常会包含用户的原始IP地址: ```...

    获取客户端IP

    在很多应用下都可能有需要将用户的真实IP记录下来,这时就要获得用户的真实IP地址,在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等...

    Java中使用HttpRequest获取用户真实IP地址

    但是在通过了Apache,Squid,nginx等反向代理软件就不能获取到客户端的真实IP地址了。 如果使用了反向代理软件,将http://192.168.1.110:2046/ 的URL反向代理为 //www.jb51.net / 的URL时,用request.getRemoteAddr...

Global site tag (gtag.js) - Google Analytics