欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

如何防止单个IP下载刷流量?

程序员文章站 2022-05-16 12:38:19
...
各位请教个问题
我的服务器 一天被人下载了300G的流量
看了IP是单个IP下载的 但是第二天又是另一个IP下载的 过一天换一个IP

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

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

回复内容:

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

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

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

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

如果是不停更换下载地址造成攻击,可以考虑使用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重定向到大文件下载地址。

相关标签: nginx java php