獲取請求方的真實ip
阿新 • • 發佈:2018-12-19
1.介紹
多次轉發過來的請求獲取第一次請求的ip,大概是每次轉發都會把初始的請求ip放到請求頭之類的地方,大概是這樣吧。
protected String getIpFromRequest(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.equals("0:0:0:0:0:0:0:1")?"127.0.0.1":ip; }
2.閒談
不太清楚實用性,但一貫的都是這種方式獲取,能用就用吧。