思路:
有时候我们写的网站会因为有些不正常的用户(爬虫)请求过于频繁,导致服务器压力过大而崩溃。这时我们需要对请求过于频繁的IP实行限制。
1.获取IP,可将IP存入mysql,redis,session,中间件等进行保存
2.设置倒计时(ps:你想封多久就封多久,开心就好)
一、装饰器
(ps:可给对应视图。代码注释我都写好了,下面就不啰嗦直接看图,不懂可以私信我 ,别忘了点个赞关注哟,创作不易,请勿白嫖)
装饰器添加
页面展示
由于我疯狂请求,以一秒十次的手速,浏览器也顶不住(切勿乱想,纯属娱乐),直接拒绝了我的请求
PS:但是刷新之后我又可以访问这个页面
原因:因为我没有判断IP,只是将IP加入我的session,设置过期时间,并没有实行限制。
再定义一个装饰器进行判断
装饰到视图(ps:装饰器由下而上执行)
页面展示
(这次我以一秒二十次的手速疯狂请求,遭到丑拒)