如果您不介意,我想自己选择一个密码?

幸运的是,它的流行程度有所降低,但是每隔一段时间重设密码,您就会收到纯文本格式的密码。 当我最近私下将其报告给特定公司时,他们告诉我它已经在计划解决此问题。 确实,几个月后,我收到了一封电子邮件,他们“解决了”该问题。 现在,他们不再以纯文本形式发送您现有的密码,而是生成一个新密码并以纯文本形式发送该密码。

而且它们不是唯一的一个。 Vueling是其他许多这样做的网站之一。

让我给出一些为什么这仍然不是个好主意的原因:

首先,密码以强密码方式存储不会给人很大的信心。 最好是生成一个密码,通过电子邮件发送然后进行哈希处理。 但是也可能仍将纯文本存储在数据库中。

即使密码被散列,仍然存在一些缺陷。 密码在收件箱中仍为纯文本格式,并且传输不安全(请参阅安全性stackexchange上的此线程)。 重置后,新密码会立即存储在数据库中,通常无需在首次登录时进行更改。 此特定实现的持久性会导致拒绝服务风险。 有恶意意图的人可以(尽管是暂时的)很容易地通过重置密码来锁定用户帐户。 当然,用户可以请求新密码并再次登录,但是在任何情况下,这实际上都是糟糕的用户体验。

实施密码重置的正确方法是,由用户负责设置新密码所属的位置。 这是通过邮寄重置URL来完成的。 该URL包含一个令牌(必须是一个过期随机数),可以在服务器端进行检查,以确认尝试重设密码的人是邮件地址的所有者。

推特: https : //twitter.com/j_opdenakker