Flask-Limiter provides rate limiting features to flask routes. It has support for a configurable backend for storage with current implementations for in-memory, redis and memcache. Flask-Limiter对flask的路由功能提供访问速率限制的功能。访问的信息可以存储到应用本身的内存里,或者存储到redis、memcache里

  

举例demo:

from flask import Flask
from flask_limiter import Limiter
from flask_limiter.util import get_remote_addressapp = Flask(__name__)
limiter = Limiter(app,key_func=get_remote_address,   //根据访问者的IP记录访问次数default_limits=["200 per day", "50 per hour"]  //默认限制,一天最多访问200次,一小时最多访问50次
)
@app.route("/slow")
@limiter.limit("1 per day")  //自定义访问速率
def slow():return "24"@app.route("/fast")        //默认访问速率
def fast():return "42"@app.route("/ping")
@limiter.exempt      //无访问速率限制
def ping():return "PONG"

效果:

$ curl localhost:5000/fast
42
$ curl localhost:5000/fast
42
$ curl localhost:5000/fast
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>429 Too Many Requests</title>
<h1>Too Many Requests</h1>
<p>2 per 1 minute</p>
$ curl localhost:5000/slow
24
$ curl localhost:5000/slow
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>429 Too Many Requests</title>
<h1>Too Many Requests</h1>
<p>1 per 1 day</p>
$ curl localhost:5000/ping
PONG
$ curl localhost:5000/ping
PONG
$ curl localhost:5000/ping
PONG
$ curl localhost:5000/ping
PONG

注释:

The built in flask static files routes are also exempt from rate limits.

即静态文件的访问无速率限制

文档说明:http://flask-limiter.readthedocs.io/en/stable/

github地址:https://github.com/alisaifee/flask-limiter

参考:

1、https://www.helplib.com/GitHub/article_107460

2、https://www.jianshu.com/p/dd29529b06d9

3、

4、

转载于:https://www.cnblogs.com/shengulong/p/9019336.html

flask-limiter限制单个IP访问的频率和次数相关推荐

  1. 网站nginx配置限制单个IP访问频率,预防DDOS恶意攻击

    一.简介 对于网站来说,尤其是流量较大出名的网站,经常遇到攻击,如DDOS攻击等,虽然有些第三方,如Cloudflare可以挡,但对于动态网站PHP来说,只能挡一部分.这时候需要对于单个IP恶意攻击做 ...

  2. ip访问次数统计 nginx_PHP实现IP访问限制及提交次数的方法详解

    一.原理 提交次数是肯定要往数据库里写次数这个数据的,比如用户登陆,当用户出错时就忘数据库写入出错次数1,并且出错时间,再出错写2,当满比如5次时提示不允许再登陆,请明天再试,然后用DateDiff计 ...

  3. web api 限制单个IP在一定时间内访问次数

    2019独角兽企业重金招聘Python工程师标准>>> ps:下面实例是每隔30秒访问次数不超过3次 1.Filter: using Infrastructure.Log; usin ...

  4. 封禁恶意IP访问在我司实践总结

    1.需求分析 随着公司业务量的增长,有些人可能就会动些小心思搞你一下,爬虫或者恶意访问你,如何限制这些用户访问呢,今天做下总结,大体有三种方案:代码层面:http服务器(以nginx为例):服务器网络 ...

  5. 怎样解决ip访问受限问题

    现在是互联网时代.一些网络工作者需要收集一些网站的数据,收集数据需要频繁访问网站.为了有效控制网站流量,保证用户访问速度,一些目标网站会限制单个IP访问请求次数.对于爬虫工作者来说,目标网站限制访问的 ...

  6. C# 站点IP访问频率限制 针对单个站点

    0x00 前言 写网站的时候,或多或少会遇到,登录,注册等操作,有时候,为了防止别人批量进行操作,不得不做出一些限制IP的操作(当前也可以用于限制某个账号的密码校验等). 这样的简单限制,我们又不想对 ...

  7. 如何通过限制 IP 相关信息 | 控制用户访问站点频率

    文章目录 通过 IP 限制反爬 实验介绍 知识点 课程环境 IP 限制实战 用 Nginx 限制特定 IP 关于 allow 和 deny 的使用说明 Nginx 限制 IP 访问频率 Python ...

  8. flask部署阿里云服务器,公网ip访问不了(一些问题及解答)

    flask部署阿里云服务器,公网ip访问不了(新手踩坑之路) 好朋友,你是不是一个后端初学者?相信到目前为止,你已经拥有一定的后端基础,在发现单机本地的后端开发已经无法满足你,于是你刚买一个云服务器. ...

  9. python爬虫解决频繁访问_爬虫遇到IP访问频率限制的解决方案

    背景: 大多数情况下,我们遇到的是访问频率限制.如果你访问太快了,网站就会认为你不是一个人.这种情况下需要设定好频率的阈值,否则有可能误伤.如果大家考过托福,或者在12306上面买过火车票,你应该会有 ...

最新文章

  1. 桌面虚拟化场景中对存储系统IO性能的评估方法
  2. 2020年人工神经网络第二次作业-参考答案第七题
  3. 关于 jest 测试结果如何在浏览器上显示的问题
  4. 征战蓝桥 —— 2014年第五届 —— C/C++A组第5题——锦标赛
  5. 微软协助谷歌开发ARM平台Chrome浏览器
  6. C++基础与深度解析第六章:函数
  7. Java进击C#——语法之多线程
  8. libevent 接收TCP连接
  9. 析构函数 deinit
  10. 电商商城小程序项目完整源码(微信小程序)
  11. cadence SPB16.6原理图库(.olb)集合的库内容列表2
  12. sir模型初始值_SIR模型
  13. mdt 计算机名_配置 MDT 部署共享规则
  14. 微信联盟链接不到服务器怎么,LOL微信登不上去怎么办?微信登不上解决方法推荐...
  15. 小米4 第三方re奇兔_再战三年?小米6支持升级Android 11,米10都没它快!
  16. Linux 安装WebLogic9.2 MP2(图文详解 教程下载)
  17. 基于PLC音乐喷泉控制系统设计音乐喷泉组态设计音乐喷泉
  18. android 画笔压痕效果,【自制样机教程】如何用Ps做一个压痕效果的Logo样机
  19. 微信公众号被动消息回复实现
  20. 研究生带28岁腼腆导师一起相亲,被女生围追堵截要微信!

热门文章

  1. 2060显卡驱动最新版本_聊一款现阶段性价比爆炸的显卡——铭瑄RTX2070 SUPER 电竞之心 OC...
  2. UI培训之零基础如何自学UI设计?
  3. 【前端干货】CSS 的空格处理
  4. 【Java 多线程】多线程带来的的风险-线程安全、多线程五个经典案例
  5. Ubuntu 系统进不去 左上角减号
  6. 动态调整linux分区大小,GParted 动态调整Linux分区大小
  7. linux bc安装的代码,BCLinux安装教程新篇
  8. mysql查询当月数据_MySQL百万数据,你如何用分页来查询数据
  9. vue v-if判断数组元素的值_我对Vue项目上线做的一些基本优化
  10. lua table insert_超详细的sysbench oltp-数据库性能测试中lua脚本解剖