我应该让Django Allauth保持原样,还是做我建议的修改?

问题描述 投票:0回答:1

我使用Django Allauth,有一些问题。

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

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

(d) 最后,如果用户忘记了他们的密码,他们可以要求通过电子邮件向他们发送一个新的密码。我可以想象这很容易被滥用,因为你不需要登录就可以做到这一点(一个人或机器人不断地输入用户的电子邮件地址,向他们发送成千上万的密码重置链接)。是否有办法对一个人的电子邮件地址添加限制,使一个用户每天只能被发送2个密码重置链接?

我很感激这些问题的答案,也很感激任何关于如何做这些事情的详细说明,因为我是新来的Django,真的不知道从哪里开始,如果我要做这些改变。

非常感谢您。

django security django-allauth
1个回答
1
投票

这一切都取决于你想做什么,如果你的网站要管理很多隐私数据,那么故事将完全不同。假设这是真的。

A)最好的做法是能够马上登录,但他们有限制,直到他们确认电子邮件。

B)总是通过Email使用生成的url请求修改密码。

C)你不应该让用户用旧密码登录,要么注销,要么自动重新登录。

D)这可能是这里最重要的。有很多方法可以防止这样的滥用,虽然不是100%有效,但是非常有效,下面是这样的:1)如果你恢复密码的方式是通过电子邮件,你可以保持邮件的私密性,没有人可以看到它,而且你认为输入一个随机的电子邮件并与你的数据库中的匹配的几率有多大?2)使用流行的反机器人,比如Google的Recaptcha。3)在有限的时间范围内设置一个尝试的限制。

© www.soinside.com 2019 - 2024. All rights reserved.