python – Django使用django-axes登录

python – Django使用django-axes登录,第1张

概述我用 django创建了一个网站.用户应该能够登录.登录视图如下所示: from django.contrib.auth import authenticate, loginfrom django.contrib.auth.models import User....if request.method == 'POST': username = request. 我用 django创建了一个网站.用户应该能够登录.登录视图如下所示:
from django.contrib.auth import authenticate,loginfrom 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.@R_301_5138@LoginMIDdleware')...AXES_LOCK_OUT_AT_FAILURE = FalseAXES_USE_USER_AGENT = TrueAXES_COolOFF_TIME = 1AXES_LOGIN_FAILURE_liMIT = 50
解决方法 默认情况下,django-axes使用django的登录视图(django.contrib.auth.vIEws.login).在中间件中,此视图使用watch_login进行装饰.

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

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

例如:

vIEws.pyfrom axes.decorators import watch_login...@watch_logindef your_custom_login_vIEw(request):    ...
总结

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

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1206558.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存