public static String getRemoteAddr(HttpServletRequest req) {
String ip = req.getHeader("X-Forwarded-For");
if (StringUtils.isNotBlank(ip)) {
String[] ips = StringUtils.split(ip, ',');
if (ips != null) {
for (String tmpip : ips) {
if (StringUtils.isBlank(tmpip)) continue;
tmpip = tmpip.trim();
if (isIPAddr(tmpip) && !tmpip.startsWith("10.") && !tmpip.startsWith("192.168.")
&& !"127.0.0.1".equals(tmpip)) {
return tmpip.trim();
}
}
}
}
ip = req.getHeader("x-real-ip");
if (isIPAddr(ip)) return ip;
ip = req.getRemoteAddr();
if (ip.indexOf('.') == -1) ip = "127.0.0.1";
return ip;
}