Bootstrap

如何实现将请求频繁的IP封禁(防爬虫)

思路:

有时候我们写的网站会因为有些不正常的用户(爬虫)请求过于频繁,导致服务器压力过大而崩溃。这时我们需要对请求过于频繁的IP实行限制。
1.获取IP,可将IP存入mysql,redis,session,中间件等进行保存
2.设置倒计时(ps:你想封多久就封多久,开心就好)

一、装饰器

(ps:可给对应视图。代码注释我都写好了,下面就不啰嗦直接看图,不懂可以私信我 ,别忘了点个赞关注哟,创作不易,请勿白嫖)

在这里插入图片描述
在这里插入图片描述

装饰器添加

在这里插入图片描述

页面展示

由于我疯狂请求,以一秒十次的手速,浏览器也顶不住(切勿乱想,纯属娱乐),直接拒绝了我的请求
在这里插入图片描述
PS:但是刷新之后我又可以访问这个页面
原因:因为我没有判断IP,只是将IP加入我的session,设置过期时间,并没有实行限制。

再定义一个装饰器进行判断

在这里插入图片描述

装饰到视图(ps:装饰器由下而上执行)

在这里插入图片描述

页面展示

(这次我以一秒二十次的手速疯狂请求,遭到丑拒)
在这里插入图片描述

ps:如果觉得我写得还行,请素质三连。后续我还会陆续更新技术文章

;