是否需要将reCaptcha添加到内置的Django登录表单中?

时间:2017-09-11 22:39:09

标签: django forms login default recaptcha

您好我是Django的新手,我正在使用Django的内置表单来登录我的用户,我也有一个联系表单,我正在使用Google reCaptcha来避免攻击。

我想知道是否需要将reCaptcha添加到我的登录表单中。我听说Django关注大部分安全性,如果默认登录表已经准备好进行暴力攻击,我不想重复代码。

如果最好将reCaptcha添加到默认登录表单,我该如何处理验证?在我的联系表单中,我调用Google的API来验证用户在我的视图中点击,但我觉得在auth_views.LoginView类中添加该代码感觉不舒服。

谢谢!

1 个答案:

答案 0 :(得分:0)

Django不会对其表单进行任何速率限制,包括登录。

我认为在您的登录表单中加入某种限速安全措施是个好主意。除非在一个时间范围内有多次不正确的尝试,否则重新验证可能是过度杀戮。

查看Django rate-limit项目,以便轻松实现验证码的替代方案。

为了将reCaptcha添加到登录视图,而不是修改auth_views.LoginView类,只需创建一个扩展该类的新视图。您可以像在联系表单中一样添加recaptcha表单验证。

然后,您可以更新您的网址以指向您的自定义视图和模板:

url(r'^login/$', custom_auth_views.recaptcha_login, {'template_name': 'core/recaptcha_login.html'}, name='login'),

有关如何扩展登录视图/模板的信息,请参阅this post