解决方案 »
- myeclipse连接sql数据库 用户登录‘sa’失败
- 关于struts2 下载文件的一个疑问
- hibernate映射问题
- 请问<s:form action="">中action能不能是变量?如action="<%= %>",或Stack Context中的内容
- HIBERNATE的一个问题在线等!求各位大侠帮忙啊,吐血吐一天了!
- 如何判断文件名是否有参数?
- 卖身创业,只为中国千万天之骄子
- 2.1936999999999998转变为2.1937的问题
- ===如何用jsp生成ftp账号===
- Session的一个操作控制的问题
- ssh getHibernateTemplate().find(queryString, value)带问号的HQL查不出数据
- ssh中action调用service层出现空指针异常
request.getHeader("Proxy-Client-IP");
request.getHeader("WL-Proxy-Client-IP");网上抄的,试试看
{
String ip = request.getHeader("Cdn-Src-Ip");
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip))
ip = request.getHeader("X-Forwarded-For");
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip))
ip = request.getHeader("X-Real-IP");
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();
if(ip.indexOf(",") > -1)
ip = ip.substring(0, ip.indexOf(","));
return ip;
}
感情真的要“弃用java api带的方法”,这个要怎么弄呢?
userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If userip = "" Then userip = Request.ServerVariables("REMOTE_ADDR")
这个高级了,还要抓包分析,小白完全不会弄啊
不过我服务器是人家的vps,公网的IP,收到的请求确实没有X-Forwarded-For请求头
“包中某个地方标识出了真正的来源地址是A”,不知道有没有什么java api支持获取这方面的信息,不然这潭水就深了去了
嗯,比如通过IP来限制用户访问频率,首先得正确获取到用户IP,极端情况下,好多人无缘无故变成同一个IP,又同时访问网站,nginx的连接限制,limit_conn_zone $binary_remote_addr这种配置就有点显得不太友好,然而ip138确实获取到了正确IP就不用担心这种情况了,好奇他们是怎么实现的