public static 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.getHeader("HTTP_CLIENT_IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("HTTP_X_FORWARDED_FOR");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
}
return ip;
}
- 浏览: 239122 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (241)
- js (49)
- java (38)
- javamail (2)
- svn (2)
- eclipse (6)
- java jxl (1)
- tomcat (5)
- oracle (44)
- jquery (4)
- sqlserver (2)
- cookie (1)
- imp/exp (3)
- rman (3)
- oracle备份 (5)
- solr (9)
- Lucene (2)
- sqlserver2005 (2)
- jdbc (1)
- Ice (15)
- jdk1.7 (1)
- tomcat7 (1)
- java设置环境变量 (1)
- Spring (1)
- dos (1)
- mysql (1)
- ps (1)
- 谷歌浏览器打开微信网页 (1)
- css (1)
- des (2)
- linux (2)
- dbf (1)
- jar包下载(jar、doc、source) (1)
- debug (1)
- kscenter (0)
- mt (1)
- neea (0)
- t.cn (1)
- 短链接 (1)
- rh-java把老表新建并导入到新表中 (1)
- oracle数据迁移ETL工具 (3)
- kettle (5)
- DNS (1)
- HttpClient (4)
- nginx (5)
- redis (8)
- jedis (2)
- nodejs (8)
- exception (1)
- AES (1)
- gzip (1)
- resin (1)
- 图像 (1)
- 安全评估 (1)
- word (1)
- MongoDB (0)
最新评论
发表评论
-
Java里\r和\n的区别
2018-08-29 15:49 899一直困惑\n \r 的区别。 ... -
Java代码质量检测评估工具
2016-06-17 19:32 1093如果能在构建代码前发 ... -
Java 获取服务器IP,本地IP
2016-06-13 14:31 936以前把程式发布的Server IP都写成一个IP-Conf ... -
Java中使用HttpRequest获取用户真实IP地址
2016-06-13 14:28 1607jsp中: request方法 客 ... -
Errors running builder 'JavaScript Validator' on project '......'.
2016-04-07 10:37 438在编译java工程时,如果出现 “Errors occur ... -
HttpCilent 字节流数据传输
2016-02-26 11:23 890public static String pustJs(in ... -
java调用js:javax.script
2016-01-25 14:39 1178服务端调用js:javax.script 谈起js在服务 ... -
java 并发插入数据到oracle
2016-01-21 15:33 1333各位技术大牛,请教java 多线程问题由于项目需要,需要从 ... -
Redis服务器搭建/配置/及Jedis客户端的使用方法
2016-01-15 22:04 2277Redis服务器搭建 安装 配置文件 启动 进行基 ... -
Java中使用Jedis操作Redis
2016-01-15 22:00 1894使用Java操作Redis需要jedis-2.1.0.jar ... -
Java生成短链接
2015-11-06 12:55 2314java版短链接算法 生成思路: 1.将"原始 ... -
java向oracle中插入字符或时间型 时间数据
2015-10-23 11:52 1107/** * * @param date * @pa ... -
javadbf中文问题的解决
2015-08-03 12:30 715最近发现读取中文是没有问题的,但写入dbf的时候就会产生乱 ... -
java去掉空格换行等
2015-07-06 15:27 780MT.f(spd.content.replaceAll(& ... -
JAVA实现DES加密
2015-06-16 15:55 1734DES算法为密码体制中的对称密码体制,又被成为美国数据加密标 ... -
Des加密解密(js+java结果一致)
2015-06-16 15:43 888des加密算法,javascript版本和java版本 ... -
java生成client_id和生成随机数字和字母组合client_secret
2015-06-16 15:32 1348package util; import java.t ... -
【Java】Eclipse导出JAR包
2015-04-23 17:48 468普通类导出jar包,该类包含main方法,并且没有用到其他的 ... -
转 ---Java中通过System.getProperties()获取系统参数
2015-04-22 15:51 474原文出处:http://smallnetvisitor.it ... -
Lucene4.X 高级应用
2015-04-20 09:58 822Lucene4.X 高级应用 Luce ...
相关推荐
获取客户端IP地址、浏览器版本和操作系统信息在JSP中的实现方法 在JSP中,获取客户端的IP地址、浏览器版本和操作系统信息是非常重要的。通过使用HttpServletRequest对象,我们可以获取到客户端的相关信息。 获取...
1. **`request.getRemoteAddr()`**:此方法返回的是客户端与服务器建立连接时的 IP 地址,如果请求是通过代理服务器转发的,则该方法返回的是代理服务器的 IP 地址而非客户端的真实 IP。 2. **`request.getHeader...
如果需要获取真实的客户端IP地址,还需要检查HTTP头部信息中的`X-Forwarded-For`字段。 #### 二、获取客户端 MAC 地址 获取客户端的MAC地址相对较为复杂,一般不推荐直接在Web应用中实现该功能。但在某些特定场景...
本文详细介绍了在JSP环境中获取客户端IP地址的方法,包括使用`HttpServletRequest`对象以及如何处理多级代理的情况。通过上述方法,开发者可以更准确地获取客户端的真实IP地址,从而为后续的安全控制、数据统计等...
"JSP获取客户端IP地址-浏览器版本-操作系统" 在 JSP 中,获取客户端的 IP 地址、浏览器版本和操作系统信息是一项重要的任务。下面我们将详细介绍如何获取这些信息。 获取客户端的 IP 地址 在 JSP 中,获取客户端...
在JSP中,获取客户端IP的方法为:request.getRemoteAddr()。这种方法在大部分情况下都是有效的,但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。 如果使用了反向代理软件,将...
同时,考虑到网络代理和负载均衡的多样性,有些代理服务器可能不会按照标准添加X-Forwarded-For头部,或者会添加多个IP地址,使得分析真实的客户端IP地址变得更加复杂。在实际应用中,可能需要根据具体的代理服务器...
在Axis中获取客户端IP地址,除了使用基本的Servlet API方法外,还需要考虑到服务部署环境可能存在的反向代理和负载均衡。可以使用以下步骤: 1. 首先尝试从HttpServletRequest的`getHeader("X-Forwarded-For")`获取...
这样可以确保即使在网络架构较为复杂的情况下,也能尽可能地获取到真实的客户端IP地址。 #### 结论 在实际应用中,为了提高代码的健壮性和适应性,建议采用第二种全面版实现。这种方法不仅能够应对单个代理的情况...
代理服务器的优点: 能够缓存增加访问速度 提供使用私有IP访问internet的访问 提高了网络的安全性 方便对用户的管理 代理方式: 普通代理:客户端主机必须在自己的浏览器里指定代理服务器的IP地址和代理服务器监听...
在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件就不能...用以跟踪原有的客户端IP地址和原来客户端请求的服务器地址。
但在实际应用场景中,由于多种因素(如NAT转换、负载均衡器或代理服务器的存在),服务器接收到的客户端IP地址可能并不是客户端真实发出请求的IP地址。因此,准确地获取客户端真实IP地址变得尤为重要。 #### 二、...
【客户端IP地址控制】 通过Filter控制客户端IP访问是一种常见的安全措施。以下是一个简单的示例,展示了如何创建一个只允许特定IP访问的Filter: ```java public class IpFilter implements Filter { private ...
在IT行业中,构建一个能够查询IP地址信息的Web应用程序是一项常见的需求,比如我们今天讨论的这个基于JSP实现的IP地址查询功能。JSP(JavaServer Pages)是Java平台上的服务器端脚本语言,用于创建动态网页。在这个...
- **`request.getRemoteAddr()`**:获取客户端的IP地址。 - **`request.getRemoteHost()`**:获取客户端主机名,如果无法获取则返回IP地址。 - **`request.getProtocol()`**:获取请求协议的名称和版本。 - **`...
但是在通过了 Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。...用以跟踪原有的客户端IP地址和原来客户端请求的服务器地址。当我们访问index.jsp/时,其实并不是我们浏览器真正访问
在IT行业中,获取访问者的IP地址是一项常见的需求,特别是在服务器端编程、网站分析以及安全监控等领域。本项目提供了一个解压后的程序,可以用于演示如何在Java Web环境中获取用户的IP地址。通过使用Eclipse集成...
- `request.getRemoteAddr()`:获取客户端IP地址。 - `request.getRemoteHost()`:获取客户端主机名(如果不可用,则返回IP地址)。 - `request.getProtocol()`:获取协议名称和版本。 #### 五、最佳实践与注意事项...
在JSP中,获取客户端IP地址的方法是使用request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是,如果使用了反向代理软件,如Apache、Squid等,request.getRemoteAddr() 方法获取的IP地址将不是客户端的...