不知道是不是版本原因,在使用CDN后,防火墙拦截不了那些使用代理的腾讯云,阿里云等,因为最终显示的Ip是内网IP。
刚开始我也没发现,但是就是觉得流量很诡异,没啥访问量,为啥有那么大的流量,最后查看日志,才发现有好多内网IP,到这时,我都还没想到问题的关键,竟然真的以为是内网机器在扫描,直到我百度怎么使用宝塔封禁内网IP的时候找到了几个论坛的关于内网IP的帖子,心想,对哦,可不就是这种情况嘛。
接着,我就在程序里面保存了一段请求头,打开一看真就发现了一系列的这种IP:
- "HTTP_X_FORWARDED_FOR":"10.52.160.242,47.102.103.115"
复制代码- "HTTP_X_FORWARDED_FOR":"10.52.160.128,47.102.103.115"
复制代码- "HTTP_X_FORWARDED_FOR":"10.52.160.202,14.102.103.115"
复制代码- "HTTP_X_FORWARDED_FOR":"10.52.160.127,47.100.138.227"
复制代码- "HTTP_X_FORWARDED_FOR":"10.52.160.125,47.102.108.69"
复制代码 等等,大多都是这样式的,所以直接从x_forwarded_for里面获取第一个IP,根本就不靠谱,不如直接获取CDN传过来的IP,那个是唯一的,或者验证一下这个地址的格式也行啊。
过滤后也能得到正确的IP。
之前有帖子说,直接封掉后面的IP就好了啊,关键是,日志里面他显示不出来真实IP,得自己保存打印的请求头去找真实IP,这不是扯淡么
之前的几个帖子碰到的是腾讯云的IP,我这次碰到的是阿里云的,这种请求头,都是可以伪造的,防火墙技术在升级,搞破坏的人,方法也在变更啊。
|
|