java - X-FORWARDED-FOR 将给出确切的客户端 IP 或 NAT 给出的 IP

标签 java servlets http-headers

有没有办法获取http请求的确切客户端IP。

如果我使用X-FORWARDED-FOR

<%= request.getHeader("X-FORWARDED-FOR") %>

然后我将获得客户端而不是代理的确切 IP,但也有异常(exception)情况,即有可用的插件伪造虚假 IP。

所以我的问题是,

X-FORWARDED-FOR 是否会给出确切的客户端 IP 或 NAT 给出的 IP。

最佳答案

Is the X-FORWARDED-FOR will give the exact client IP or the IP given by NAT.

这取决于代理,它是如何配置的,以及它是否知道真实的 IP 地址。例如,如果代理在逻辑上位于 NAT 之外,那么它只会看到“NATed”IP 地址。

我不会相信 IP 地址是真实的(或不是)...除非您知道特定代理的详细信息。

关于java - X-FORWARDED-FOR 将给出确切的客户端 IP 或 NAT 给出的 IP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25642159/

相关文章:

java - 如何在 Grails 中使用执行器插件识别运行后的线程并停止它?

java - 使用 Swing 的 JTextField 在 Java 中打印屏幕

java - ServletDispatcher 无法转换为我的 spring 项目中的 Javax.servlet.Servlet 异常

java - 如何在 servlet API 2.5 中将 session cookie 设置为 Http-Only?

c# - 如何使用方法 post 使用 HttpRequest 发送变量?

java - Apache 不遵守 If-Modified-Since

java - 如何让玩家始终指向鼠标

java - 更新图形时 jframe flash

java - 从 Servlet(或过滤器)访问 Tomcat 内部

http-headers - 哪种MIME类型适合.exe文件?