一个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 NamedQuery错误“具有给定标识符的多行:1”   java无法使用单独类中的计时器更新TextView   兼容性什么时候可以很快使用新的Java功能?   java二叉树路径和   java矩形的性能   java我想从同一个子表在主表中添加两个外键   java如何获取基于特定日期的所有数据?   java javafx、OO编程规则和写入变量类型的选择   java使用带枚举的switch语句   java异步任务生成运行时异常   java为什么JLabel不显示下划线字符?   java如何解析具有可变参数号的函数?   带有按钮的java JavaFX自定义列表单元格:未调用处理程序   java Modelmapper无法映射整个模型?   传递给持久化的java分离实体,包含LatLng列表