Java获取访问者Ip并限制Ip访问页面
Posted Bot_zj
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java获取访问者Ip并限制Ip访问页面相关的知识,希望对你有一定的参考价值。
原文链接:https://www.zjhuiwan.cn/info/20200330/4006602464505049.html
最近遇到一个需求,一个只能内网访问的网站,需要限制ip访问。就是网站内的部分文章只有白名单内的ip才能打开。因为是静态化的网站,所有文章都是静态html页面。所以首先想到的就是直接js获取访问者ip然后再判断是否在白名单内,不在白名单内就到没有权限页面。
但是JS获取内网Ip还是比较麻烦的,查到几个方法最后试了都不行。
记录下查到的几个方法和最后实现的方法。
JS获取外网ip的方法:
//最简单的获取外网ip的方法。可以直接用,但是没啥用..
JS获取内网Ip的方法://有些浏览器获取到的加密ip段有问题,所以当其时期
利用WebRTC获取真实内网Ip,WebRTC是一个支持网页浏览器进行实时语音对话或视频对话的API
由于WebRTC在建立连接过程中,会向对方发送本地地址SDP,因此可以通过访问SDP获得访问者的IP
但是有些浏览器用不了,所以还是放弃这种方式了。
最后还是觉得用Java来实现比较好吧,前端文章页写个ajax,每次进入文章先判断文章是否需要限制IP访问,如果需要就请求下后端,后端获取Ip判断是否在白名单内。注意ajax要用同步。
Java获取访问者Ip方法:
完整代码
以上方法均来自网络,亲测有效,记录于此。
I am just a porter
以上是关于Java获取访问者Ip并限制Ip访问页面的主要内容,如果未能解决你的问题,请参考以下文章
在java web中怎么用java代码获取访问者的IP,同时根据访问者的IP判断他是属于那个城市
获取任何支持图像重定向(如***)的html页面的访问者的IP地址和浏览器代码