您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python – Django使用django-axes登录

5b51 2022/1/14 8:22:12 python 字数 3500 阅读 540 来源 www.jb51.cc/python

我用 django创建了一个网站.用户应该能够登录.登录视图如下所示: from django.contrib.auth import authenticate, login from django.contrib.auth.models import User .... if request.method == 'POST': username = request.

概述

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)

但凭借这种“解决方案”,我无法应对蛮力攻击.所以我环顾四周发现了这个:
Throttling brute force login attacks in 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
AXES_COOLOFF_TIME = 1
AXES_LOGIN_FAILURE_LIMIT = 50

因此,您可以通过两种方式解决问题:

>使用标准登录视图.这样,django-axis不需要额外的设置.
>使用watch_login装饰器装饰您的登录视图.

例如:

views.py

from axes.decorators import watch_login
...

@watch_login
def your_custom_login_view(request):
    ...

总结

以上是编程之家为你收集整理的python – Django使用django-axes登录全部内容,希望文章能够帮你解决python – Django使用django-axes登录所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶