// 多次反向代理后会有多个IP值,第一个为真实IP。

来源:互联网 发布:js onmouseover 编辑:程序博客网 时间:2024/06/13 23:42
package tax.zkfp.webservice.impl;


import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;


import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;


import org.apache.axis2.context.MessageContext;
import org.apache.axis2.transport.http.HTTPConstants;
import org.apache.commons.lang3.StringUtils;
import org.apache.log4j.Logger;





public class LoginWebServiceImpl implements LoginWebService {
public static String getIpAddr(HttpServletRequest request) {
         String ip = request.getHeader("X-Real-IP");
         if (!StringUtils.isBlank(ip) && !"unknown".equalsIgnoreCase(ip)) {
             return ip;
         }
         ip = request.getHeader("X-Forwarded-For");
         if (!StringUtils.isBlank(ip) && !"unknown".equalsIgnoreCase(ip)) {
             // 多次反向代理后会有多个IP值,第一个为真实IP。
             int index = ip.indexOf(',');
             if (index != -1) {
                 return ip.substring(0, index);
             } else {
                 return ip; 
             }
         } else {
             return request.getRemoteAddr();
         }
     }
//初始化日志记录器
private static Logger logger = Logger.getLogger(LoginWebServiceImpl.class);
0 0
原创粉丝点击