使用随机哈希在邮件或URL中发送密码

时间:2016-08-23 09:31:20

标签: php passwords

我多次看到建议不要直接通过邮件向用户发送密码,例如他为您的网站注册,而是向他发送一封包含唯一随机哈希值的网址的电子邮件。到您网站上可以设置自己密码的页面。我只是想知道:这比发送密码更安全吗?如果这些电子邮件中的任何一个被恶意第三方拦截和读取,该第三方就能够访问该用户的帐户,对吗?

我唯一可以想到的(在输入此内容时)是发送哈希只会启用一个用户来设置密码,因此如果恶意方使用它,之后用户会尝试为了设置他的密码,他会知道出现了问题,因为他将无法再这样做了。

我是否认为我刚刚提到的是增加更多安全性的唯一方法?

1 个答案:

答案 0 :(得分:2)

是的,您已经确定了核心原因:即使第三方截获包含密码重置链接的电子邮件,该链接仅有效一次(应该是!),并且只要一次使用就会过期。由于用户通常在等待电子邮件到达并立即单击该链接,因此攻击者几乎没有机会对其进行恶意攻击;攻击者需要实时主动狩猎和拦截目标,以便有机会发挥作用。

此外,电子邮件中的密码可能会无限期地存在。通过电子邮件的各种主动,被动和意外披露,可以在以后恢复。电子邮件中的密码只能与存储在其中的电子邮件一样安全,这与安装在硬盘和/或随机互联网服务器上的任何随机纯文本文件一样安全。这是:不是非常安全。

通常,密码是秘密,只有一个人应该知道:用户。密码应仅存在于用户的头脑中,或者可能是安全性良好的密码管理器。即使是使用密码的服务器也不想存储密码(只是一个不可逆转的哈希),而且肯定没有随机的第三方糟糕的电子邮件提供商。