怎么获取企业内部保留IP地址对应的公网IP地址???

hopana 发布于 2015/11/28 12:25
阅读 505
收藏 0

     最近公司要做一个短信防刷功能,于是我根据每个发短信的客户端的IP地址和手机号码进行限制,每个手机号码和每个IP地址能发送的条数有限制,一旦超限则禁用一段时间,对于请求过于频繁的则拉入黑名单............

      这个构思是很好的,而且我也这么做了,的确有效果!可是问题也随之而来了。

      问题是,很多企业或者组织、机构往往是申请了一个或几个公网IP地址,内容使用保留地址,类似100.97.14.12。由于这种保留地址可以被多个组织机构使用,导致获取到大量的请求对应同一个保留IP地址,但是实际上这些请求来自不同的客户端。所以导致误拦了很多用户...............

      用java获取IP地址,怎么样才能真正的获取到企业或组织机构内部保留地址对应的公网IP地址呢?

      请各位有经验的大神赐教!!!万分感谢!!!

加载中
0
杨三更
杨三更
加入白名单功能。。。。。。。。
0
雨翔河
雨翔河

配置文件白名单加入你们的ip啊,判断的时候这些IP都不做拦截。

0
月影又无痕
月影又无痕

内网机器是通过NAT上网的,所以你的程序是取不到其内网IP的。

带加上session, cookie等限制吧。

0
hopana
hopana
       问题解决了,其实是自己缺少点网络知识,像100.97.14.5这样的IP地址其实是企业内网保留地址,不作外网通信用的。跟192.168.1.X有点类似。最开始就是简单的request.getRemoteAddr来获取,结果获取了很多类似100.97.14.5、100.97.15.X这样的IP地址,最开始自己查的时候发现是保留地址,每太明白是怎么回事,还以为是黑客搞的。后来研究了才发现,这些IP地址是保留地址,可能是某些公司或机构用了代理,所以获取的不是客户端真实的IP地址。希望对遇到类似问题的朋友有帮助!
0
hopana
hopana

引用来自“hopana”的评论

       问题解决了,其实是自己缺少点网络知识,像100.97.14.5这样的IP地址其实是企业内网保留地址,不作外网通信用的。跟192.168.1.X有点类似。最开始就是简单的request.getRemoteAddr来获取,结果获取了很多类似100.97.14.5、100.97.15.X这样的IP地址,最开始自己查的时候发现是保留地址,每太明白是怎么回事,还以为是黑客搞的。后来研究了才发现,这些IP地址是保留地址,可能是某些公司或机构用了代理,所以获取的不是客户端真实的IP地址。希望对遇到类似问题的朋友有帮助!
       后来改了获取IP地址的方法,突破代理,获取真实IP地址,才解决问题的。
0
赵朋朋derek
赵朋朋derek
短信防刷,最有效的还是搞图形校验码!
返回顶部
顶部