All Projects → orsinium-archive → Django Bruteforce Protection

orsinium-archive / Django Bruteforce Protection

Licence: lgpl-3.0
Bruteforce protection for Django projects based on Redis. Simple, powerful, extendable.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Django Bruteforce Protection

Docker Django
A complete docker package for deploying django which is easy to understand and deploy anywhere.
Stars: ✭ 378 (+243.64%)
Mutual labels:  redis, django
Python Spider
豆瓣电影top250、斗鱼爬取json数据以及爬取美女图片、淘宝、有缘、CrawlSpider爬取红娘网相亲人的部分基本信息以及红娘网分布式爬取和存储redis、爬虫小demo、Selenium、爬取多点、django开发接口、爬取有缘网信息、模拟知乎登录、模拟github登录、模拟图虫网登录、爬取多点商城整站数据、爬取微信公众号历史文章、爬取微信群或者微信好友分享的文章、itchat监听指定微信公众号分享的文章
Stars: ✭ 615 (+459.09%)
Mutual labels:  redis, django
Ring
Python cache interface with clean API and built-in memcache & redis + asyncio support.
Stars: ✭ 404 (+267.27%)
Mutual labels:  redis, django
Instahack
Instagram bruteforce tool
Stars: ✭ 265 (+140.91%)
Mutual labels:  login, bruteforce
Django Redis Metrics
Metrics for django apps backed by Redis.
Stars: ✭ 93 (-15.45%)
Mutual labels:  redis, django
Endoflife.date
Informative site with EoL dates of everything
Stars: ✭ 296 (+169.09%)
Mutual labels:  redis, django
Feedhq
FeedHQ is a web-based feed reader
Stars: ✭ 525 (+377.27%)
Mutual labels:  redis, django
Ecommerce website development
本项目基于Django1.8.2等来开发一个电商平台,可实现注册、登录、浏览、购买、支付等全部常用功能。
Stars: ✭ 246 (+123.64%)
Mutual labels:  redis, django
Docker Django Example
A production ready example Django app that's using Docker and Docker Compose.
Stars: ✭ 86 (-21.82%)
Mutual labels:  redis, django
Django Channels React Multiplayer
turn based strategy game using django channels, redux, and react hooks
Stars: ✭ 52 (-52.73%)
Mutual labels:  redis, django
tomcter
😹 Tomcter is a python tool developed to bruteforce Apache Tomcat manager login with Apache Tomcat default credentials.
Stars: ✭ 18 (-83.64%)
Mutual labels:  login, bruteforce
Django Rq
A simple app that provides django integration for RQ (Redis Queue)
Stars: ✭ 1,361 (+1137.27%)
Mutual labels:  redis, django
d00r
Simple directory brute-force tool written with python.
Stars: ✭ 35 (-68.18%)
Mutual labels:  login, bruteforce
Awesome Cheatsheets
👩‍💻👨‍💻 Awesome cheatsheets for popular programming languages, frameworks and development tools. They include everything you should know in one single file.
Stars: ✭ 26,007 (+23542.73%)
Mutual labels:  redis, django
Brute-Force-Login
Proof -Of-Concept Brute Force Login on a web-site with a good dictionary of words
Stars: ✭ 231 (+110%)
Mutual labels:  login, bruteforce
Django Redis Sessions
Session backend for Django that stores sessions in a Redis database
Stars: ✭ 478 (+334.55%)
Mutual labels:  redis, django
Website
django 开发的BBS博客项目, 此项目包含多用户注册,话题模块,发布文章,文章评论,课程、社区BBS以及消息提示,关注,采用邮箱注册,激活验证登录,以及QQ注册登录,招募作者发布教程在后台管理系统发布, pc采用模板渲染,cms采用vue drf前后分离,登录采用JWT认证登录、移动端采用react开发,
Stars: ✭ 217 (+97.27%)
Mutual labels:  redis, django
Chain
链喵 CMDB 本项目已停止开发!因长时间未对代码进行维护,可能会造成项目在不同环境上无法部署、运行BUG等问题,请知晓!项目仅供参考!
Stars: ✭ 240 (+118.18%)
Mutual labels:  redis, django
Funpyspidersearchengine
Word2vec 千人千面 个性化搜索 + Scrapy2.3.0(爬取数据) + ElasticSearch7.9.1(存储数据并提供对外Restful API) + Django3.1.1 搜索
Stars: ✭ 782 (+610.91%)
Mutual labels:  redis, django
Playlistor
🎶Apple Music ↔️ Spotify playlist convertor.
Stars: ✭ 95 (-13.64%)
Mutual labels:  redis, django

DjBrut

DjBrut logo

Build Status PyPI version Status Code size License

DjBrut -- simple brutforce protection for Django project.

Default checkers:

  • Max requests for IP.
  • Max requests for user.
  • Max requests for one CSRF-token (stupid but effective).
  • Max requests frequency limitation.

DjBrut use Redis as storage for all counters.

Installation

pip install djbrut

Usage

from django.http import HttpResponse
from djbrut import Attempt

def some_view(request):
    attempt = Attempt('some rule type name', request)
    # check
    if not attempt.check():
        # error
        return HttpResponse(attempt.error)
    # success
    ...

You can see example project for more details.

Configuring

Just set up rules:

BRUTEFORCE_LIMITS = {
    'default': Rule(
        user=100,       # max requests for one user by BRUTEFORCE_TIMELIMIT
        ip=300,         # max requests for one IP by BRUTEFORCE_TIMELIMIT
        csrf=50,        # max requests with one CSRF token by BRUTEFORCE_TIMELIMIT
        freq=0,         # max request frequency for client [seconds]
    ),
    'some rule type name': Rule(
        user=100,       # max requests for one user by BRUTEFORCE_TIMELIMIT
        ip=300,         # max requests for one IP by BRUTEFORCE_TIMELIMIT
        csrf=50,        # max requests with one CSRF token by BRUTEFORCE_TIMELIMIT
        freq=0,         # max request frequency for client [seconds]
    ),
}

Attempt get rule type name as first arg. If rule type name not found in keys of BRUTEFORCE_LIMITS, 'default' will be used. If you don't set default rule then passed rule type must be exists in BRUTEFORCE_LIMITS keys.

BRUTEFORCE_TIMELIMIT -- time to live for all attempts counters.

You can see default settings for more params such as custom error message.

Advanced usage. Create custom checker

If you want use custom checker:

  1. Create custom checker like built-in.
  2. Create new Rules with your checker attribute.
  3. Add your checker to BRUTEFORCE_CHECKERS
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].