//服务器IP
session.setAttribute("localAddr",request.getLocalAddr());//客户端IP
RemoteAddr addr=new RemoteAddr();
session.setAttribute("remoteAddr",addr.getRemoteAddr(request));RemoteAddr类
package com.hbsc.util;
import org.apache.commons.lang3.StringUtils;
import javax.servlet.http.HttpServletRequest;
public class RemoteAddr {
/**
* 获得用户远程地址
*/
public String getRemoteAddr(HttpServletRequest request) {
String remoteAddr = request.getHeader("X-Forwarded-For");
if (StringUtils.isNotBlank(remoteAddr) && !"unknown".equalsIgnoreCase(remoteAddr)) {
// 多次反向代理后会有多个IP值,第一个为真实IP。
int index = remoteAddr.indexOf(',');
if (index != -1) {
remoteAddr = remoteAddr.substring(0, index);
}
} else {
remoteAddr = request.getHeader("X-Real-IP");
}
return remoteAddr != null ? remoteAddr : request.getRemoteAddr();
}
}
版权声明:本文为qq_37766224原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。