丢失帐户的最佳密码重置行为

时间:2012-04-09 21:01:04

标签: passwords forgot-password

我想知道当用户请求为不存在的电子邮件重置密码时最佳行为是什么。

上下文:用户未登录。他们只需输入电子邮件并点击重置按钮。

  1. 如果我告诉用户立即请求重置该帐户不存在,那就是安全漏洞和隐私问题。
  2. 如果我什么也不做,这是一个无辜的错误(他们认为他们有一个帐户),他们会想知道发生了什么。最神秘的选择,最不容易被滥用。
  3. 我可以发送一封电子邮件,说已经请求密码重置,但没有帐户(应该忽略等等等等)。这似乎是最不有害的,但它有点受到滥用。
  4. 更新:在进一步考虑之后,我并不是真的如此 1 是一个大问题,因为他们只需尝试注册/使用即可获得相同的信息同样的电子邮件......除非我遗漏了一些东西......

4 个答案:

答案 0 :(得分:2)

我个人会这样:

  1. 用户输入电子邮件地址。
  2. 屏幕显示“请求将被处理,电子邮件已发送”或类似的内容。
  3. 如果没有与此电子邮件地址相关联的帐户:请勿发送邮件,但不要告诉请求的人。
  4. 如果有与此电子邮件关联的帐户:发送包含通常的重置电子邮件“如果这不是您只是忽略此邮件,如果您怀疑滥用请联系$ foobar”-message。
  5. 这就是为什么我不会告诉任何人帐户是否与此电子邮件地址相关联:隐私。如果你告诉所有人,每个人都可以检查$ person是否正在使用$ service。

    如果没有这样的用户,我会包括为什么我不发送邮件:我为什么要这样做?用户可能要么知道他使用了哪个电子邮件地址,要么一次尝试几个(或者只是等待很短的时间跨度)。当然,如果有人发送这些邮件,有些情况会对用户更友好,但它们并不足以抵消滥用的可能性。 如果只有一个网站做这些东西(只要他们不会在短时间内发送多封邮件),就没有太大的滥用可能性,但想象一下每个网络服务都是这样的。你只需要收集一些这些服务,然后通过电子邮件轰炸某个“你不喜欢”的人,而不会点击任何垃圾邮件过滤器!

答案 1 :(得分:0)

就个人而言,我是粉丝:

  • 用户输入电子邮件。
  • 电子邮件是否存在,是否已被请求,如果您未收到电子邮件,请再试一次或与我们联系。
  • 在电子邮件中,说明已提交密码请求,如果不是用户,则忽略该电子邮件。

此外,

  • 如果您担心机器人会抓取您的网站上的电子邮件,请添加一个Captcha。
  • 如果您担心黑客攻击帐户,请添加第二层,提示您提供秘密问题答案。

答案 2 :(得分:0)

在我看来,第三种选择是用户友好性和安全性之间的最佳折衷。选项1似乎是一个隐私问题。使用选项2,用户无法知道他是否拥有帐户,但是使用其他电子邮件地址注册,或者重置系统无效。

答案 3 :(得分:0)

我会做这样的事情

  • 询问用户名或电子邮件
  • 如果存在该电子邮件或用户名,请使用重置密码将所有电子邮件发送给此人。

完成:)