package org.smartx.summer.common;

import javax.servlet.http.HttpServletRequest;

/**
 * Created by Ming on 2016/11/24.
 */
public final class IpUtils {

    public static String getRemoteIP(HttpServletRequest request) {
        String ip = request.getHeader("X-Real-IP");
        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getHeader("x-forwarded-for");
        }
        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getHeader("Proxy-Client-IP");
        }
        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getHeader("WL-Proxy-Client-IP");
        }
        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getRemoteAddr();
        }
        return ip;
    }
}

@@ -147,16 +147,70 @@
 tils %7B%0A%0A
+    private static final String UNKNOWN = %22unknown%22;%0A%0A
     publ
@@ -362,33 +362,31 @@
 h() == 0 %7C%7C 
-%22unknown%22
+UNKNOWN
 .equalsIgnor
@@ -505,33 +505,31 @@
 h() == 0 %7C%7C 
-%22unknown%22
+UNKNOWN
 .equalsIgnor
@@ -648,33 +648,31 @@
 h() == 0 %7C%7C 
-%22unknown%22
+UNKNOWN
 .equalsIgnor
@@ -798,25 +798,23 @@
 == 0 %7C%7C 
-%22unknown%22
+UNKNOWN
 .equalsI

define constants