一个django应用程序,用于阻止向您的应用程序发送过多点击的IP地址

django-bot-crawler-blocker的Python项目详细描述


===
django_bot_crawler_blocker
==


这是一个简单的django应用程序,用于阻止向应用程序发送过多点击的IP地址。
您可以决定在定义的时间内每个IP地址允许的点击数。



quick start
----


1。将“django_bot_crawler_blocker”添加到已安装的应用程序设置中,如下所示::


installed_apps=[

“django_bot_crawler_blocker”,
]



2。将“crawlerblockermidleware”添加到settings.py文件中的中间件类:

“django-bot-blocker.django-bot-crawler-middleware.crawlerblockermidleware”、
“django.middleware.security.securitymiddleware”、
“django.contrib.sessions.middleware.sessionmiddleware”,
“django.middleware.common.commonmiddleware”、
“django.middleware.csrf.csrfviewmiddleware”、
“django.contrib.auth.middleware.authenticationmiddleware”、
“django.contrib.messages.middleware.messagemiddleware”、
“django.middleware.clickjacking.xframeoptionsmidleware”,
]


“CrawlerBlockerMiddleware”可以而且应该是第一个中间件,因为我们需要确保IP检查是处理请求时的第一件事。如果在settings.py文件中未定义缓存设置,则需要在settings.py文件中添加以下行:


caches={
'默认值':{
'后端':'django.core.cache.backends.db.databasecache',
'位置':'缓存表',
}
}
已配置设置。运行以下命令在数据库中创建缓存表:

“python manage.py create cache table”

您可以选择要使用的任何缓存后端。




4。(可选)在max_allowed_hits_per_IP中设置变量,并在settings.py文件中设置IP_hits_timeout::

max_allowed_per_IP=2000;max allowed hits per IP_timeout time from an IP。默认值2000。
IP_hits_timeout=60缓存中的IP超时(秒)。默认值60。

要在本地系统上进行测试,请将这些值设置为非常低,例如,IP_hits_timeout=30,max_allowed_hits_per_IP=2。
重新启动服务器并频繁发送请求。两次请求后,您将开始收到403个错误。
如果未在设置文件中定义,则将使用默认值。



5。如有任何疑问或问题,请随时联系我。清单文件中提供的电子邮件。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JavaSpring重定向请求处理程序   SwingJava:拆分字符串并将其放入文本区域的   Java:标记“”上出现语法错误,此标记后面应为表达式   web服务Java RestService从日志文件写入和读取数据   java如何将ArrayList<String>转换为char数组,然后向后打印每个单词?   java SimpleDataFormat解析返回年终日期   加密Java aes解密bytebuffer,包括填充为空字节   java有没有办法从特定的if语句调用变量?   java从更新返回到渲染   spring GRPC Java登录测试   java为什么下面的代码不工作(StringBuffer.toString!=null)   java是一种可行的模式吗?   使用Spring集成测试的JavaOSGi片段   java jCommander为未知和未使用的值引发异常?   在imageView的editText中输入的java图像URL