我应该生成临时密码还是仅为旧用户发送重置链接?

时间:2016-02-10 06:11:13

标签: django authentication

几个月前,我开始了一个侧面项目,现在已经吸引了大约3-4k用户。到目前为止,我一直在处理电子表格,但现在我正在制作一个Django应用并将数据传输到数据库中。因此,到目前为止,没有一个用户确实拥有用户名或密码。

我正在考虑让他们登录并查看他们的数据的最佳方式。我可以

  • 生成随机密码并通过电子邮件发送,一旦用随机生成的密码登录,就可以更改密码
  • 只需向他们发送密码重置链接。

我认为第二种选择会容易得多。这两个选项之间是否存在功能差异?有没有更好的方法可以解决这个问题?

1 个答案:

答案 0 :(得分:0)

评论中的所有意见均有效。 我们可以说,如果我们假设选项1:

,安全方面的两种方法都是相似的
  • 这是一段有限时间内存储的密码,在固定的时间段后变为无效。
  • 用户有义务在首次登录时更改密码。
  • 密码生成算法是随机的,足以使其免受强力攻击(足够长时间使用ecc中的特殊字符。)

但是我会选择2只是因为它对用户来说更容易,而且在开发方面没有添加任何东西,我甚至发现它稍微容易一些。

但我建议在重置/更改密码后向用户添加包含邮件的警报,以便用户可以报告被盗身份的情况。

如果您可以

,则可以选择其他步骤

如果您现有的数据中还有电话号码,您可以通过短信提供两步验证,但当然即使在普通费用方面也会更加广泛,所以如果您真的认为自己需要安全等级。