在Java Server Page中获取用户IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下是有效的,但是在通过了Apache、Squid、nginx等反向代理软件获取到的IP地址是反向代理软件的IP地址。

用以下方法即可:

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;}

javaweb获取客户端IP相关推荐

  1. JavaWeb 获取客户端的真实IP地址

    通常我们在JavaWeb中获取客户端IP地址只需要使用request.getRemoteAddr();方法即可 如果前端使用了Nginx等反向代理的话,我们使用request.getRemoteAdd ...

  2. c# 获取客户端IP地址方法

    客户端ip: Request.ServerVariables.Get("Remote_Addr").ToString();  客户端主机名: Request.ServerVaria ...

  3. JS获取客户端IP地址、MAC和主机名的7个方法汇总

    今天在搞JS(javascript)获取客户端IP的小程序,上网搜了下,好多在现在的系统和浏览器中的都无效,很无奈,在Chrome.FireFox中很少搞到直接利用ActiveX获取IP等的JS脚本. ...

  4. 如何在PHP中获取客户端IP地址[重复]

    本文翻译自:How to get the client IP address in PHP [duplicate] This question already has an answer here: ...

  5. ASP.NET Core 中使用负载均衡时获取客户端 IP

    在使用负载均衡的情况下,通过 context.Connection.RemoteIpAddress 获取到的是负载均衡的 IP 地址,需要通过 X-Forwarded-For 请求头才能获取到客户端的 ...

  6. ASP.NET获取客户端IP及MAC地址

    ASP.NET获取客户端IP及MAC地址 2008-12-01 14:50 ASP.NET获取客户端IP及MAC地址很多时候非常必要的,像做投票.留言.评论 等系统的时候防止别人恶意操作,导致数据的虚 ...

  7. JAVA CXF、XFIRE、AXIS webservice获取客户端IP

    2019独角兽企业重金招聘Python工程师标准>>> import javax.annotation.Resource; import javax.servlet.http.Htt ...

  8. 深入分析几种PHP获取客户端IP的情况

    深入分析几种PHP获取客户端IP的情况 http://mount.blog.51cto.com/764124/528084 2011-03-27 16:13:29 标签:代理服务器 客户端 文章 PH ...

  9. openresty开发系列40--nginx+lua实现获取客户端ip所在的国家信息

    openresty开发系列40--nginx+lua实现获取客户端ip所在的国家信息 为了实现业务系统针对不同地区IP访问,展示包含不同地区信息的业务交互界面.很多情况下系统需要根据用户访问的IP信息 ...

  10. 获取客户端IP和MAC地址

    小编是菜鸟,这两天拿到一个需求,登录时判断ip地址是否允许登录,这几天做下来小编遇见了好多坑,给大家分享一下. 系统架构:.net+java 首先,不管怎么样http请求头才是获取ip地址的唯一方式: ...

最新文章

  1. detach detach_ pytorch
  2. Windows Server 2012如何实现双网卡绑定
  3. 交互式计算机图形学总结:第一章 图形系统和模型
  4. 百度全面开放HTTPS之我见
  5. fofa自动化爬虫脚本更新+详解
  6. mysql 关联查询_Mysql查询优化器,再也不会因为该什么时候建立索引发愁了
  7. php where or,php – laravel中whereOr和orWhere之间的区别
  8. Android Service是如何启动的?
  9. 用MediaPlayer record audio简例
  10. Ansible条件测试
  11. 拓端tecdat|R语言互联网金融下的中国保险业数据分析
  12. LCA算法 在线树上倍增模板
  13. 如何导出久其报表所有数据_久其报表制作与分发统一服务平台解决方案
  14. 如何用excel做正交分析_利用Excel进行正交设计及分析
  15. 技术移民必看:工程师应该如何获得美国签证?
  16. 从UI设计在国内的发展历程来看,UI设计发展前景如何?
  17. 安卓逆向——Xposed插件常用HOOK方法
  18. D2 日报 2019年5月20日
  19. Ajax清晰请求步骤与代码
  20. 工业物联网的数据集成

热门文章

  1. 小白都能看懂的numpy与pandas中axis解释
  2. python 嵌套list的一些小结
  3. 计算机图形学_GAMES101-现代计算机图形学课程 全笔记
  4. php startup memcache,centos php 安装memcache模块
  5. 商城购物车php代码,php实现商城购物车的思路和源码分析
  6. jdbc连接mysql数据库 工作流程_jdbc连接数据库流程图
  7. android 素材标签,Android Studio矢量素材资源导入错误 – 不支持标签
  8. python mro算法_Python MRO C3算法实现
  9. 查看防火墙_在 Centos8 上使用 systemctl 防火墙服务
  10. php memcached存储对象,用于会话存储的Memcached或MySQL – PHP