获取ip工具类
This commit is contained in:
parent
df59a291b0
commit
7331751e26
|
@ -37,7 +37,7 @@ public class RequestUtil {
|
|||
* @param request
|
||||
* @return
|
||||
*/
|
||||
public String getBasePath(HttpServletRequest request) {
|
||||
public static String getBasePath(HttpServletRequest request) {
|
||||
StringBuffer basePath = new StringBuffer();
|
||||
String scheme = request.getScheme();
|
||||
String domain = request.getServerName();
|
||||
|
@ -52,5 +52,30 @@ public class RequestUtil {
|
|||
}
|
||||
return basePath.toString();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取ip工具类,除了getRemoteAddr,其他ip均可伪造
|
||||
* @param request
|
||||
* @return
|
||||
*/
|
||||
public static String getIpAddr(HttpServletRequest request) {
|
||||
String ip = request.getHeader("Cdn-Src-Ip"); // 网宿cdn的真实ip
|
||||
if (ip == null || ip.length() == 0 || " unknown".equalsIgnoreCase(ip)) {
|
||||
ip = request.getHeader("HTTP_CLIENT_IP"); // 蓝讯cdn的真实ip
|
||||
}
|
||||
if (ip == null || ip.length() == 0 || " unknown".equalsIgnoreCase(ip)) {
|
||||
ip = request.getHeader("X-Forwarded-For"); // 获取代理ip
|
||||
}
|
||||
if (ip == null || ip.length() == 0 || " unknown".equalsIgnoreCase(ip)) {
|
||||
ip = request.getHeader("Proxy-Client-IP"); // 获取代理ip
|
||||
}
|
||||
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
|
||||
ip = request.getHeader("WL-Proxy-Client-IP"); // 获取代理ip
|
||||
}
|
||||
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
|
||||
ip = request.getRemoteAddr(); // 获取真实ip
|
||||
}
|
||||
return ip;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue