【问题标题】:Should I Leave Django Allauth As-Is Or Make The Changes I've Suggested我应该让 Django Allauth 保持原样还是按照我的建议进行更改
【发布时间】:2020-05-13 22:01:26
【问题描述】:

我正在使用 Django Allauth 并且有很多问题。

(a) 当用户注册时,他们会立即登录,并且会向他们的收件箱发送一封确认电子邮件。我想知道这是否是最佳做法?用户是否应该在注册后退出并只允许使用其电子邮件中的链接登录?

我也想知道密码更改。 Allauth 附带的密码更改功能只是要求用户输入旧密码,然后输入新密码两次。我的两个问题是(b)这是一种好习惯还是我应该让我的用户通过电子邮件请求新密码,以及(c)我应该在密码更改后强制注销我的用户并让他们使用他们的新凭据登录?

(d) 最后,如果用户忘记了密码,他们可以请求通过电子邮件发送给他们的新密码。我可以想象这很容易被滥用,因为您无需登录即可执行此操作(一个人或机器人不断输入用户电子邮件地址,向他们发送数千个密码重置链接)。有没有办法对个人电子邮件地址添加限制,这样一个用户每天只能发送可能 2 个密码重置链接?

我将不胜感激任何这些问题的答案,并非常感谢任何关于如何做到这一点的详细说明,因为我是 Django 新手,如果我要进行这些更改,真的不知道从哪里开始。

非常感谢。

【问题讨论】:

    标签: django security django-allauth


    【解决方案1】:

    这完全取决于您想做什么,如果您的网站要管理大量隐私数据,那么情况就会完全不同。假设它是真的。

    A) 最佳做法是能够立即登录,但他们在确认电子邮件之前受到限制。

    B)始终使用生成的 url 通过电子邮件请求更改密码。

    C)您不应该让用户使用旧密码登录,无论是注销还是自动重新登录。

    D)这可能是这里最重要的。有很多方法可以防止这种滥用,虽然它们不是 100% 有效,但它非常有效,事情是这样的:1)如果您恢复密码的方式是通过电子邮件,您可以将电子邮件保密,没有人可以看到它,您认为键入一封随机电子邮件并匹配您数据库中的电子邮件的几率是多少? 2)使用流行的反机器人,如谷歌的 Recaptcha。 3) 在有限的时间范围内设置尝试次数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-22
      • 2017-01-30
      • 1970-01-01
      • 1970-01-01
      • 2013-06-06
      • 2021-06-19
      • 2022-09-30
      • 1970-01-01
      相关资源
      最近更新 更多