Java获取用户IP
/**
* 获取访问者IP * * 在一般情况下使用Request.getRemoteAddr()即可,但是经过nginx等反向代理软件后,这个方法会失效。 * * 本方法先从Header中获取X-Real-IP,如果不存在再从X-Forwarded-For获得第一个IP(用,分割), * 如果还不存在则调用Request .getRemoteAddr()。 * * @param request * @return */ public static String getIpAddr(HttpServletRequest request) { String ip = request.getHeader("X-Real-IP"); if (!StringUtils.isBlank(ip) && !"unknown".equalsIgnoreCase(ip)) { return ip; } ip = request.getHeader("X-Forwarded-For"); if (!StringUtils.isBlank(ip) && !"unknown".equalsIgnoreCase(ip)) { // 多次反向代理后会有多个IP值,第一个为真实IP。 int index = ip.indexOf(','); if (index != -1) { return ip.substring(0, index); } else { return ip; } } else { return request.getRemoteAddr(); } }
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Java获得时间 String与Timestamp互转
一、String与Date(java.util.Date)互转 1.1 String -> Date Java代码 StringdateStr=“2010/05/0412:34:23″; Datedate=newDate(); //注意format的格式要与日期String的格式相匹配 DateFormatsdf=newSimpleDateFormat(“yyyy/MM/ddHH:mm:ss”); try{ date=sdf.parse(dateStr); System.out.println(date.toString()); }catch(Exceptione){ e.printStackTrace(); } 1.2 Date -> String 日期向字符串转换,可以设置任意的转换格式format Java代码 StringdateStr=“”; Datedate=newDate(); //format的格式可以任意 DateFormatsdf=newSimpleDateFormat(“yyyy/MM/ddHH:mm:ss”); DateFormatsdf2=ne...
- 下一篇
区块链开发公司谈区块链技术的信息存储
现在的人们对个人的隐私和数据都十分的重视,在数据存储上,用什么技术能够安全不丢失也不被入侵了?区块链结合自身的性质,与大数据结合能够更安全! 互联网的发展,为人们的工作生活沟通交流提供了极大的便利,但同时也存储了海量的数据,因此数据安全成为人们普遍关心的问题,也成为很多公司迫切需要解决的问题。 在这个数据为王的时代,谁掌握了数据谁就掌握了流量,谁就拥有了决定权。 但是数据泄露已经成为一个迫切的问题。在公司数据库中存储了越来越多的敏感数据,我们还将看到新的黑客攻击,影响了很多行业,让用户数据暴露在外。因此,黑客获取的信息导致了大量的身份盗窃,非法数据在暗网上销售,以及其他主要问题。 当我们展望这种新的去中心化互联网时,必须考虑其最重要的方面之一:去中心化存储。 在传统网络中,所有的参与者都在记录各不相同的副本,从而导致账本无法达成一致。这直接增加了时间成本,同时也增加了人力等相关的间接成本。而在基于区块链的共享账本中,在交易确认后,将无法篡改。同时使企业节省了成本和时间,同时也降低了风险。区块链技术使交易自动化,提高了参与者之间的透明度,保证了交易记录的完整性,提升了客户信任度。 区块...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8编译安装MySQL8.0.19
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Hadoop3单机部署,实现最简伪集群
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果