public static String getIP(HttpServletRequest request) {
String ip = request.getHeader("x-forwarded-for");
if (!checkIP(ip)) {
ip = request.getHeader("Proxy-Client-IP");
}
if (!checkIP(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
if (!checkIP(ip)) {
ip = request.getRemoteAddr();
}
return ip;
}
private static boolean checkIP(String ip) {
if (ip == null || ip.length() == 0 || "unkown".equalsIgnoreCase(ip)
|| ip.split(".").length != 4) {
return false;
}
return true;
}
String ip = request.getHeader("x-forwarded-for");
if (!checkIP(ip)) {
ip = request.getHeader("Proxy-Client-IP");
}
if (!checkIP(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
if (!checkIP(ip)) {
ip = request.getRemoteAddr();
}
return ip;
}
private static boolean checkIP(String ip) {
if (ip == null || ip.length() == 0 || "unkown".equalsIgnoreCase(ip)
|| ip.split(".").length != 4) {
return false;
}
return true;
}
解决方案 »
- SQL 时间函数
- tomcat+apache+ssl在哪配置ssl
- 当我们有个东西弄不出来的时候,要怎么弄
- 求助:mysql数据库Parameter metadata not available for the given statement
- Hibernate执行SQL发生的情况!
- wtc的问题
- 基于webwork+spring+hibernate+搜索技术做的一个互动问答搜索系统,请大家帮忙测试下吧。来者有分
- Hibernate的性能和存储过程问题
- 请教,在eclipse里开发j2ee的简单基本过程。
- 请问Tomcat5.5中在哪看控制台输出的信息?在5.0中有但在5.5中就找不到了
- 关于学习书籍和电脑配置求各位大小指教!
- 如何用BouncyCastle 进行消息认证
0:0:0:0:0:0:0:1
求大神指教