Возможно ли иметь две разные настройки сброса блокировки для блокировки django-axes?

Я использую пользовательский вид django login и в настоящее время реализую дросселирование для неудачных попыток входа. В настоящее время я использую Django-axes для этой цели.

Я успешно реализовал 'мягкую блокировку' для неудачных попыток входа (блокировка по имени пользователя за каждые 10 неудачных попыток входа в течение 5 минут). Я хотел бы проверить, возможно ли также реализовать 'жесткую блокировку' (проверка того, что не более 100 неудачных попыток в час возможно на одном аккаунте) вместе с этой 'мягкой блокировкой'?

Вот что я сделал для своей "мягкой блокировки"

settings.py

INSTALLED_APPS = [
...,
'axes'
]

AUTHENTICATION_BACKENDS = (
    "axes.backends.AxesBackend",
...
)

# django-Axes systems
# https://raw.githubusercontent.com/jazzband/django-axes/master/docs/4_configuration.rst
## basic configuration for login attempt and lockout duration
AXES_FAILURE_LIMIT = 10
AXES_LOCK_OUT_AT_FAILURE = True
AXES_COOLOFF_TIME = 0.083   # lockout 5 mins
AXES_RESET_COOL_OFF_ON_FAILURE_DURING_LOCKOUT = False
AXES_ONLY_USER_FAILURES = True
AXES_RESET_ON_SUCCESS = True
## custom account soft lockout message
AXES_LOCKOUT_CALLABLE = 'customlogin.views.user_lockout'
CUSTOM_AXES_SOFT_LOCKOUT_MESSAGE = 'Too many failed login attempts. Please try again in 5 minutes.'
## fields to use for checking
AXES_USERNAME_FORM_FIELD = 'email'
## logging for db
AXES_DISABLE_ACCESS_LOG = True
AXES_ENABLE_ACCESS_FAILURE_LOG = True
AXES_ACCESS_FAILURE_LOG_PER_USER_LIMIT = 300

views.py

from axes.decorators import axes_dispatch

@axes_dispatch
def user_login(request):
    # main body of code

def user_lockout(request, credentials):
    """
    Custom accout lockout message for django-axes.
    change custom_account_lockout_message accordingly to what you need.
    """
    response_data = {
        "login": "Failed",
        "error": settings.CUSTOM_AXES_SOFT_LOCKOUT_MESSAGE
    }
    return HttpResponse(JsonResponse(response_data))

Любые рекомендации будут очень полезны! Спасибо заранее.

Вернуться на верх