zoukankan      html  css  js  c++  java
  • java 获取用户真实ip

    /**
             * 获取用户真实ip
             * @param request
             * @return
             */
            public static String getIpAddr(HttpServletRequest request){
                String 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;
            }


    public static String getIpAddr(HttpServletRequest request) {
    String ip = request.getHeader("X-Forwarded-For");

    if (logger.isInfoEnabled()) {
    logger.info("###getIpAddress(HttpServletRequest) - X-Forwarded-For - String ip=" + ip);
    }

    if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
    if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
    ip = request.getHeader("Proxy-Client-IP");
    if (logger.isInfoEnabled()) {
    logger.info("###getIpAddress(HttpServletRequest) - Proxy-Client-IP - String ip=" + ip);
    }
    }
    if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
    ip = request.getHeader("WL-Proxy-Client-IP");
    if (logger.isInfoEnabled()) {
    logger.info("###getIpAddress(HttpServletRequest) - WL-Proxy-Client-IP - String ip=" + ip);
    }
    }
    if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
    ip = request.getHeader("HTTP_CLIENT_IP");
    if (logger.isInfoEnabled()) {
    logger.info("###getIpAddress(HttpServletRequest) - HTTP_CLIENT_IP - String ip=" + ip);
    }
    }
    if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
    ip = request.getHeader("HTTP_X_FORWARDED_FOR");
    if (logger.isInfoEnabled()) {
    logger.info("###getIpAddress(HttpServletRequest) - HTTP_X_FORWARDED_FOR - String ip=" + ip);
    }
    }
    if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
    ip = request.getRemoteAddr();
    if (logger.isInfoEnabled()) {
    logger.info("###getIpAddress(HttpServletRequest) - getRemoteAddr - String ip=" + ip);
    }
    }
    } else if (ip.length() > 15) {
    String[] ips = ip.split(",");
    for (int index = 0; index < ips.length; index++) {
    String strIp = (String) ips[index];
    if (!("unknown".equalsIgnoreCase(strIp))) {
    ip = strIp;
    break;
    }
    }
    }
    logger.info("####解析请求的浏览器IP:"+ip);
    return ip;
    }
     
  • 相关阅读:
    任意代码执行实例
    任意代码执行漏洞
    Port Hacking
    任意命令执行漏洞
    sql注入基于错误-单引号-字符型
    与SQL注入第一次相遇
    Hibernate基础知识
    TxQueryRunner类对结果集封装成bean、map及object的操作
    map的数据创建任意类的JavaBean对象
    UUID产生的JAR
  • 原文地址:https://www.cnblogs.com/sagech/p/5165587.html
Copyright © 2011-2022 走看看