3

我正在开发一个需要使用 devise/rails 进行身份验证的应用程序,并且决定允许用户在没有电子邮件确认的情况下登录。然而,经过深思熟虑,这个奇怪的工作流程浮现在脑海:

如果有人注册了我的电子邮件,开始使用它,然后我决定用我被盗的电子邮件加入应用程序怎么办?那家伙没有确认,但我应该保留他的帐户,阻止它还是删除它?(旁注:电子邮件必须是唯一的)

4

4 回答 4

3

作为应用程序的设计者,您可以掌控一切。您可以按照自己的意愿处理这种情况。

我不确定 facebook 如何处理“未经确认”的帐户创建。我想他们允许任何注册的人在一定时间内检查他们的电子邮件并单击确认链接 - 之后该电子邮件可供其他用户使用。这对我来说很有意义,因为这可以防止人们向网站发送垃圾邮件并有效地“阻止”合法用户注册。如果您永远允许未经确认的帐户闲置并“用完”电子邮件,您可能会遇到以下情况:

恶意用户使用虚假电子邮件创建了数千次“虚假”帐户注册尝试。这些电子邮件永远等待被确认,但永远不会因为它们不存在(还),充当“使用中”的电子邮件。一段时间后,一个合法用户碰巧使用 GMail 或任何碰巧匹配恶意用户先前提交的“虚假”电子邮件之一的人创建了一个电子邮件帐户。然后,该合法用户无法在您的服务中注册他或她的电子邮件,因为恶意用户已“阻止”此地址的电子邮件。

我个人的意见是给注册人一定的时间来确认他们的地址是合法的,如果他们在这个时间范围内没有确认,就放弃创建帐户的尝试。

于 2012-03-16T04:21:13.347 回答
1

我有一个非常相似的问题,我已经到达(尚未实施)的解决方案是让用户选择他想要的电子邮件,如果没有其他确认的用户使用该电子邮件。

注册后,用户将处于非活动状态/非活动状态,并将收到一封确认电子邮件,当它点击链接时,它将确认他的电子邮件,其他人不能再使用它。

于 2012-03-16T07:25:05.867 回答
0

Most of these sites require you to verify your email by sending you an email link. Only afterwards can you create an account. This handily sidesteps the problem of someone trying to steal someone else's email: unless they can log into your email account, they simply cannot.

于 2012-03-16T04:07:50.140 回答
0

您是否有“重新发送确认电子邮件”操作(您应该)或“忘记密码”操作(您应该)?两者都可以使用我的电子邮件地址收回帐户,因为只有我可以访问我的电子邮件。

还要考虑创建帐户的用户的情况,忘记它并使用相同的电子邮件地址创建另一个帐户。

于 2012-12-19T14:26:46.973 回答