| | |
| | | return ""; |
| | | } |
| | | |
| | | String ip = request.getHeader("X-real-ip"); |
| | | if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { |
| | | String ip = request.getHeader("X-Real-IP"); |
| | | if (isBlankIp(ip)) { |
| | | ip = request.getHeader("X-real-ip"); |
| | | } |
| | | if (isBlankIp(ip)) { |
| | | ip = request.getHeader("x-forwarded-for"); |
| | | } |
| | | if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { |
| | | if (isBlankIp(ip)) { |
| | | ip = request.getHeader("Proxy-Client-IP"); |
| | | } |
| | | if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { |
| | | if (isBlankIp(ip)) { |
| | | ip = request.getHeader("WL-Proxy-Client-IP"); |
| | | } |
| | | if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { |
| | | if (isBlankIp(ip)) { |
| | | ip = request.getRemoteAddr(); |
| | | } |
| | | return ip; |
| | | if (ip != null && ip.contains(",")) { |
| | | ip = ip.split(",")[0].trim(); |
| | | } |
| | | if ("0:0:0:0:0:0:0:1".equals(ip) || "::1".equals(ip)) { |
| | | ip = "127.0.0.1"; |
| | | } |
| | | return ip == null ? "" : ip.trim(); |
| | | } |
| | | |
| | | private static boolean isBlankIp(String ip) { |
| | | return ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip); |
| | | } |
| | | } |
| | | |