一个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第三方库


热门话题
java楼梯的最大高度   java Jackson从1.7.1更新到2.8.6 JsonTypeInfo子类型反序列化   Spring WebApp中的java JPA异常处理   java在SwingWorker(doInBackground)中从WorkerThread调用多个方法?   java Android Studio构建到jar   java是添加多个按钮组的更有效方法   java MySQL JDBC连接池最大大小   java如何防止元素<Integer>变成元素<Object>   Java:处理大型XML文件提取数据而不编写状态自动机?   SpringBoot和React Web应用程序中CAS的java重定向问题   需要java算法方面的帮助吗   java在JDK 16中使用PowerMock   java异常错误本机方法签名   在Java Android中将JSON映射到数组/对象   如何打开一个窗口。java程序中的dat文件   java应用程序引擎+Maven+热插拔   java Moxy的getValueByXPath为除根元素以外的所有元素返回null