相关疑难解决方法(0)

Django使用django-axes登录

我用django创建了一个网站.用户应该能够登录.登录视图如下所示:

from django.contrib.auth import authenticate, login
from django.contrib.auth.models import User
....
if request.method == 'POST':       
        username = request.POST['username']#get username
        password = request.POST['txtPwd']# and password 
        user = authenticate(username=username, password=password) #checking username and pwd
        if user is not None:
            if user.is_active:
                login(request, user)
Run Code Online (Sandbox Code Playgroud)

但凭借这种"解决方案",我无法应对蛮力攻击.所以我环顾四周发现了这个: 在Django中限制暴力登录攻击

第一个答案是有帮助的.我选择了django-axes因为django-ratelimit只计算调用视图的数量.

但这是我的问题:当我尝试使用错误的密码登录时,它不计算失败.(仅限于/ admin-section).

我找不到将我的登录视图"添加"到django-axes的选项.

所以这是我的问题:

如何配置django-axis以处理登录视图中的失败登录?

编辑: 这是我的设置文件:

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'axes',
)

MIDDLEWARE_CLASSES = (
    '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.XFrameOptionsMiddleware',
    'axes.middleware.FailedLoginMiddleware'
)

...

AXES_LOCK_OUT_AT_FAILURE = False
AXES_USE_USER_AGENT = True …
Run Code Online (Sandbox Code Playgroud)

python django django-login

7
推荐指数
1
解决办法
2124
查看次数

如何在 Django Rest + Using Django Rest Throttling 中防止蛮力攻击

在特定时间阻止特定用户使用 Django REST 节流。

我看过Django REST Throttling

我不想使用第三方包。

提前致谢

python django python-3.x django-rest-framework

5
推荐指数
1
解决办法
4044
查看次数