1. private String getClientIpAddr(HttpServletRequest request) {
    2. String ip = request.getHeader("X-Forwarded-For");
    3. if (ip == null || ip.length() == 0 || ip.equalsIgnoreCase("unknown")) {
    4. ip = request.getHeader("Proxy-Client-IP");
    5. }
    6. if (ip == null || ip.length() == 0 || ip.equalsIgnoreCase("unknown")) {
    7. ip = request.getHeader("WL-Proxy-Client-IP");
    8. }
    9. if (ip == null || ip.length() == 0 || ip.equalsIgnoreCase("unknown")) {
    10. ip = request.getHeader("HTTP_X_FORWARDED_FOR");
    11. }
    12. if (ip == null || ip.length() == 0 || ip.equalsIgnoreCase("unknown")) {
    13. ip = request.getHeader("HTTP_X_FORWARDED");
    14. }
    15. if (ip == null || ip.length() == 0 || ip.equalsIgnoreCase("unknown")) {
    16. ip = request.getHeader("HTTP_X_CLUSTER_CLIENT_IP");
    17. }
    18. if (ip == null || ip.length() == 0 || ip.equalsIgnoreCase("unknown")) {
    19. ip = request.getHeader("HTTP_CLIENT_IP");
    20. }
    21. if (ip == null || ip.length() == 0 || ip.equalsIgnoreCase("unknown")) {
    22. ip = request.getHeader("HTTP_FORWARDED_FOR");
    23. }
    24. if (ip == null || ip.length() == 0 || ip.equalsIgnoreCase("unknown")) {
    25. ip = request.getHeader("HTTP_FORWARDED");
    26. }
    27. if (ip == null || ip.length() == 0 || ip.equalsIgnoreCase("unknown")) {
    28. ip = request.getHeader("HTTP_VIA");
    29. }
    30. if (ip == null || ip.length() == 0 || ip.equalsIgnoreCase("unknown")) {
    31. ip = request.getHeader("REMOTE_ADDR");
    32. }
    33. if (ip == null || ip.length() == 0 || ip.equalsIgnoreCase("unknown")) {
    34. ip = request.getRemoteAddr();
    35. }
    36. return ip;
    37. }