-
这是一个很好的问题,我也经常看到这个问题。 我想知道一个更安全的方法是否是:1。 要求发电子邮件2。 如果他们以前登录过,请使用本地存储/cookie动态获取密码字段3。 如果没有本地存储/cookie告诉您他们以前登录过,那么通知他们,如果发现他们的电子邮件地址有帐户,那么他们会收到一封电子邮件(当然也会发送一封电子邮件)4。 告诉他们,如果他们没有收到电子邮件,请单击下面的“注册”按钮。。。 – MER公司 评论 5月23日1:28 -
4 在登录页面上Jeff Atwood 说 “告诉用户他们的电子邮件不存在”,以获得更好的用户体验 – 丹尼·贝克特 评论 5月23日3:23 -
2 值得一提的是,现在已经出现了相反的问题,注册成为登录: security.stackexchange.com/questions/134198/… 。尽管是反向流,但它也有相同的漏洞。 – 博布森 评论 5月23日13:16 -
有两个单独的页面可以更容易地为第二个页面呈现不同的工作流。 – 王渊源 评论 5月24日14:25 -
1 这不是一个安全问题,但从可用性的角度来看,这种设置很糟糕。 现在要登录,我必须完成两个单独的页面加载,如果字段标记不正确,密码管理器通常会在这种设置中遇到问题。 – 最大的 评论 5月24日20:23
3个答案
显然,你可以输入一大堆电子邮件,并检查它们是否已在我们的系统中注册,但这是一个问题吗? 我们有2FA用于注册帐户以及复杂的密码策略。
-
三 -
2 -
2 @jcaron:不记得并不意味着用户没有线索,而是他们可能弄错了(可能在类似的网站注册,可能在这里注册,但使用不同的电子邮件,…)。 在这种情况下,用户会发生错误的事情:他们可能会认为自己注册了,但随后会得到密码错误的信息,因为他们已经有了一个帐户,但使用了不同的密码。 或者他们认为自己登录了(但使用了错误的电子邮件)并输入了密码,但最终却得到了一个新的注册。 不通知用户实际会发生什么是不好的可用性。 – 斯特芬·乌尔里奇 评论 5月23日16:31 -
-
1 -
2 “那么,网站是如何逃脱惩罚的呢?”除了不必要的信息披露之外,他们并没有违反任何法律,这只是一种不良行为。 重新捕获是一种可能的策略,但最好只在进行了几次不成功的尝试后触发。 因为captcha令人恼火,并带来了可访问性问题。 – 凯特 评论 5月22日14:56 -
1 -
4 @凯特他们 可以 违反法律,取决于管辖权。。。 你泄露了你的客户的私人信息(即他们是你的客户),这将与GDPR和其他人发生冲突。 更准确地说,网站之所以能逃脱惩罚,是因为很少有人发出足够的噪音来解决问题。 – 西蒙·吉尔德 评论 5月23日2:47 -
1 @巴尔马:请参阅我在第二段中的建议。 在这两种情况下,应用程序都应该发送电子邮件:如果地址已经注册(这意味着邮箱的所有者已经有一个帐户),请在电子邮件中这样说。 如果地址还没有注册,也可以在电子邮件中这样说,让用户完成通常的注册程序。 – 日本1024 评论 5月23日15:12
攻击者获取系统中注册用户的列表。
如果用户名/密码匹配 让他们登录
如果用户名不存在 或 用户名/密码不匹配 一般消息,告诉他们登录失败,应该会收到一封电子邮件。 如果他们没有帐户,则应遵循电子邮件中的注册程序 向用户发送电子邮件 该电子邮件将向最终用户揭示故障原因,例如: 似乎您在{My site}登录失败,您还有5次登录尝试,或者可以在此处重置密码。 如果您没有启动此登录尝试,请立即通知我们,因为可能有人试图登录到您的帐户。 感谢您选择{我的网站}! 若要完成注册,请单击包含唯一ID的此URL。如果您没有启动此注册,则可能有人正在尝试使用您的电子邮件进行注册。 做 不是 是否与共享此注册链接 任何人 !