获取ip地址 java中如何获取ip地址,同时防止x-forwarded-for伪造ip,以及DNS欺骗,这段代码应该怎么写,求各路大神解答 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public String getIpAddr(HttpServletRequest request) { // 获取请求主机IP地址,如果通过代理进来,则透过防火墙获取真实IP地址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;} 我开始也是这么写的,可是ip还是能通过x-forwarded-for进行伪造 要看你的服务是怎么部署,前端是否有负载均衡或反向代理。自己做的反向代理,x-forwarded-for才有用没有httpServletRequest.getRemoteHost()就可以,有的话,参考这篇文章吧http://blog.csdn.net/xiao__gui/article/details/73733797 ssh整合时出现问题~ ext使用JSON读取数据日期格式的显示 JSP中红叉怎么去掉 坛子里有没有成都的朋友 问一个正则表达式的问题 想做个搜索的网站----------------------------------------- 求《开发自己的搜索引擎——Lucene 2.0+Heriterx》这本书的示例源代码! 紧急求问高手,struts一个chedkbox的显示问题。 100分-求数据字典到xml文件映射的例子。谢谢 请问james有邮件群发功能吗? mysql数据库查询某条数据更新记录 请教大神,如何在mysql插入一个长度大于bigint的数,并且计算
// 获取请求主机IP地址,如果通过代理进来,则透过防火墙获取真实IP地址
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;
}
http://blog.csdn.net/xiao__gui/article/details/73733797