是否需要将 reCaptcha 添加到内置 Django 的登录表单中?
Is it needed to add reCaptcha to built in Django's login form?
你好,我是 Django 的新手,我正在使用 Django 的内置表单来登录我的用户,我还有一个联系表单,我正在使用 Google reCaptcha 来避免攻击。
我想知道是否需要将 reCaptcha 添加到我的登录表单中。我听说 Django 负责大部分安全工作,如果默认登录表单已经为暴力攻击做好准备,我不想重复代码。
如果最好将 reCaptcha 添加到默认登录表单,我该如何处理验证?在我的联系表单中,我调用 Google 的 API 来验证用户在我的视图中是否点击,但我不喜欢在 auth_views.LoginView class 中添加该代码。
谢谢!
Django 不会对其表单进行任何速率限制,包括登录。
我认为在您的登录表单中加入某种速率限制安全措施是个好主意。默认情况下,re-Captcha 可能有点矫枉过正,除非在一个时间范围内有几次不正确的尝试。
查看 Django rate-limit 项目,了解一个易于实施的验证码替代方案。
为了将 reCaptcha 添加到登录视图,而不是修改 auth_views.LoginView
class,只需创建一个扩展 class 的新视图。您可以像在联系表单中一样添加验证码表单验证。
然后您可以更新 url 以指向您的自定义视图和模板:
url(r'^login/$', custom_auth_views.recaptcha_login, {'template_name': 'core/recaptcha_login.html'}, name='login'),
请参阅 this post 了解如何扩展登录视图/模板。
你好,我是 Django 的新手,我正在使用 Django 的内置表单来登录我的用户,我还有一个联系表单,我正在使用 Google reCaptcha 来避免攻击。
我想知道是否需要将 reCaptcha 添加到我的登录表单中。我听说 Django 负责大部分安全工作,如果默认登录表单已经为暴力攻击做好准备,我不想重复代码。
如果最好将 reCaptcha 添加到默认登录表单,我该如何处理验证?在我的联系表单中,我调用 Google 的 API 来验证用户在我的视图中是否点击,但我不喜欢在 auth_views.LoginView class 中添加该代码。
谢谢!
Django 不会对其表单进行任何速率限制,包括登录。
我认为在您的登录表单中加入某种速率限制安全措施是个好主意。默认情况下,re-Captcha 可能有点矫枉过正,除非在一个时间范围内有几次不正确的尝试。
查看 Django rate-limit 项目,了解一个易于实施的验证码替代方案。
为了将 reCaptcha 添加到登录视图,而不是修改 auth_views.LoginView
class,只需创建一个扩展 class 的新视图。您可以像在联系表单中一样添加验证码表单验证。
然后您可以更新 url 以指向您的自定义视图和模板:
url(r'^login/$', custom_auth_views.recaptcha_login, {'template_name': 'core/recaptcha_login.html'}, name='login'),
请参阅 this post 了解如何扩展登录视图/模板。