php - 如何防止单个IP下载刷流量?
迷茫
迷茫 2017-04-11 10:38:50
0
3
320

各位请教个问题
我的服务器 一天被人下载了300G的流量
看了IP是单个IP下载的 但是第二天又是另一个IP下载的 过一天换一个IP

没几天服务器就欠费停机了
这个问题怎么防止啊

用PHP 或者JAVA 要怎么判断处理一下呢

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回覆 (3)
伊谢尔伦

单个下载链接被攻击还是不固定的?

如果是不停更换下载地址造成攻击,可以考虑使用Liunx环境下的防火墙iptables或第三方流量控制软件

以下是推荐的几个iptables配置博文,可以参考下。

iptables自动屏蔽恶意高流量ip
iptables 设置肯限制流量
如何用IPtables限制网络流量(4)

    伊谢尔伦

    把ip放到一个map里面,每天0点清一次这个map,下载的时候你可以判断有没有下载过,当然这个次数你也可以控制一下,下载了多少次了,就不能下载了

      迷茫

      这个问题我给研究了一下,看见nginx有这个功能模块,https://www.nginx.com/resourc...,英文我就不翻译了。
      +++分割线1,时间:2016-10-9 10:30:34+++
      感觉问题还是回答得不够完美,http请求的流量应该分为request和response两种,通过nginx的限制访问功能只能解决指定ip来的request不处理,response不返回数据的功能,大概能减少90%左右的流量,那么剩下的10%左右的request的流量越早处理越好,看到别人回答使用iptables进行限制,这个比nginx处理早一步,是一种解决方案,但还不够完美,还有没有更好的解决办法呢?刚刚说了,越早处理越好,可以叫服务器供应商在路由层面进行ip过滤限制,嗯,这个需要比较大的权限才能做到,还可能与你使用的服务器供应商的网络规划灵活性有关,那么有没有更牛逼的方式呢,当然有,每次给他重定向到一个国内大型互联网公司大文件(已经CDN加速)的下载地址,这个地址我就不好说了哈,现在就可以一行代码搞定header("Location: https://www.qunimabi.com/bigf... ")。
      +++分割线2,时间:2016-10-9 10:46:05+++
      上面说使用一个代码搞定,感觉还是不科学,最好使用nginx的 lua模块判定指定ip是否在blacklist中然后再add header重定向到大文件下载地址。

        最新下載
        更多>
        網站特效
        網站源碼
        網站素材
        前端模板
        關於我們 免責聲明 Sitemap
        PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!