获取来源IP地址
来源:互联网 发布:淘宝上卖的星巴克杯子 编辑:程序博客网 时间:2024/05/24 01:50
获得客户端真实IP地址的方法一:
public String getRemortIP(HttpServletRequest request) { if (request.getHeader(”x-forwarded-for”) == null) { return request.getRemoteAddr(); } return request.getHeader(”x-forwarded-for”);}
获得客户端真实IP地址的方法二:
public String getIpAddr(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;}
如果通过了多级反向代理的话,X-Forwarded-For的值并不止一个,而是一串IP值,究竟哪个才是真正的用户端的真实IP呢?
答案是取X-Forwarded-For中第一个非unknown的有效IP字符串。如:
X-Forwarded-For:192.168.1.110, 192.168.1.120, 192.168.1.130, 192.168.1.100
用户真实IP为: 192.168.1.110
public String getIp() { String forwaredFor = getRequest().getHeader("X-Forwarded-For"); String remoteAddr = getRequest().getRemoteAddr(); if (StringUtils.isNotEmpty(forwaredFor)) { String[] ipArray = forwaredFor.split(","); return ipArray[0]; } else return remoteAddr; }
- 获取来源IP地址
- 获取请求来源ip地址
- jsp和js获取来源页地址和ip原理
- 在PHP中获取IP来源地址并且插入数据库
- Java获取来源网页的地址和ip
- php获取来源页面地址
- 如何让jsp和js获取来源页地址和ip原理及代码
- 如何让jsp和js获取来源页地址和ip原理及代码
- jrtplib获取当前接收信息的来源ip地址和端口
- 如何让jsp和js获取来源页地址和ip原理及代码
- 通过cxf发布的webservice接口中获取来源地址的IP
- 用Java来获取访问者真实的IP地址(来源:收集)
- PHP伪造IP或来源地址
- 一段JS简单获取页面来源地址
- 获取当前访问url的来源地址
- 获取客户端IP地址
- 获取IP地址!
- 获取IP地址
- js的pretty print
- linux GCC命令
- 细说Cookie
- keil MDK中如何生成*.bin格式的文件
- 小米手机的录音文件位置
- 获取来源IP地址
- Timer的schedule和scheduleAtFixedRate方法的区别解析
- 代理模式VS外观模式VS适配器模式
- android Installation error: INSTALL_FAILED_CONTAINER_ERROR
- substr 截取函数的应用
- 在IPL中输出字符串---有趣的低级汇编"函数调用"
- UVA 562 Dividing coins
- 10天学会C语言
- 《人再囧途之泰囧》之黄渤