接口不做限流,脚本一秒灌几百请求,直接把数据库打满网站502

9年前 (2018-05-01)阅读1回复0
genmulu
genmulu
  • 管理员
  • 注册排名1
  • 经验值27950
  • 级别管理员
  • 主题5590
  • 回复0
楼主

新手写接口,只做业务逻辑,根本不做限流,结果上线之后脚本一秒灌几百次请求,直接把数据库打满,网站502,其实接口限流做起来特别简单,几行代码就能挡住大部分脚本刷接口。第一,同一个IP,一分钟内最多请求60次,超过的直接返回429请求太频繁,正常用户一秒点一次,根本碰不到这个阈值;第二,登录、发评论这种接口,加更严的限流,同一个IP一分钟最多10次,脚本一秒发一百次,直接被拦;第三,限流存在Redis或者文件里,别每次请求都查数据库,不然限流本身又把数据库占满了;第四,接口限流的错误提示做友好点,别直接抛一堆代码,告诉用户“操作太频繁,请稍后再试”。

我之前做评论接口,没加限流,脚本一秒灌200条广告,服务器CPU直接100%,加了IP限流之后,再也没出现过批量灌垃圾的情况。很多新手觉得小站没人刷接口,结果黑产的脚本是全网扫的,你不限流,分分钟给你灌几百条垃圾,把服务器打满。真的,接口限流几行代码,成本特别低,但是能挡住90%的脚本刷接口,别等服务器被打满了才想起加。

本站源码来源于网络收集修改或者交换,甚至可能并非原创,如遇未经考证信息需持审慎态度。若有疑问,可联系本站处理。

本文地址:https://www.genmulu.cn/genmulu/3279.html

0
回帖

接口不做限流,脚本一秒灌几百请求,直接把数据库打满网站502 期待您的回复!

取消
载入表情清单……
载入颜色清单……
插入网络图片

取消确定

图片上传中
编辑器信息
提示信息