public class IpUtils extends Object
该类提供了获取客户端IP的方法
| 构造器和说明 |
|---|
IpUtils() |
| 限定符和类型 | 方法和说明 |
|---|---|
static String |
getIpv4Address(javax.servlet.http.HttpServletRequest request)
获取客户端真实IP地址
使用Nginx等反向代理软件, 则不能通过
ServletRequest.getRemoteAddr() 获取IP地址,
否则拿到的是Nginx等反向代理软件所在的IP地址, 并非真实的客户端IP
当设置了 X-Forwarded-For 时, 如果使用了多级反向代理, X-Forwarded-For 的值并不止一个(),
而是一串IP地址(逗号分割), X-Forwarded-For 中第一个非 unknown 的有效IP字符串, 则为真实IP地址
(客户端可以伪造 X-Forwarded-For 请求头, 需要验证IP正确性)
X-Forwarded-For: 该字段为行业统一请求头, 并非标准请求头, 用于Nginx等反向代理软件转发请求来源的IP地址
|
@NonNull public static String getIpv4Address(@NonNull javax.servlet.http.HttpServletRequest request)
使用Nginx等反向代理软件, 则不能通过ServletRequest.getRemoteAddr() 获取IP地址,
否则拿到的是Nginx等反向代理软件所在的IP地址, 并非真实的客户端IP
当设置了 X-Forwarded-For 时, 如果使用了多级反向代理, X-Forwarded-For 的值并不止一个(),
而是一串IP地址(逗号分割), X-Forwarded-For 中第一个非 unknown 的有效IP字符串, 则为真实IP地址
(客户端可以伪造 X-Forwarded-For 请求头, 需要验证IP正确性)
request - HttpServletRequestCopyright © 2021 HaiChuang Inc.. All rights reserved.