解决方案 »
- 计算任意2个日期内的工作日
- 一个外企面试题
- 关于TOMCAT,CPU100%,的问题。
- 顶者感谢,有分.response.setContentType("text/html;charset=gb2312",与response.setCharacterEncoding("gb2312")
- JavaBean编译通不过,望高手指点
- 文本框数据有效性验证问题,请高手帮忙
- 继续送分(来着有分)
- 这个异常是怎么回事
- 如何設定某個單元格裡的字體顏色
- 如何在JSP,求余数呀???比如3/2=1
- 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就不用担心这种情况了,好奇他们是怎么实现的