3

我正在开发一个需要使用devise/rails进行身份验证的应用程序,并决定允许用户无需确认电子邮件即可登录。然而,经过深入思考这个奇怪的工作流程来考虑:如何让其他用户使用已注册但尚未确认的电子邮件注册?

如果有人有什么与我的电子邮件注册,使用它开始,后来 我决定用我的电子邮件被盗加入应用程序?该人没有 确认,但我应该保留他的帐户,阻止或删除它? (边注:邮件必须是唯一的)

回答

1

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

一旦注册,用户将是无法识别的/非活动的,并且会收到一封确认电子邮件,当它将按照链接确认他的电子邮件,而其他人不再使用它。

+0

谢谢,我真的很感谢你的解决方案,但实现它可能有点头疼,因为用户电子邮件必须是唯一的 – mateusmaso 2012-03-16 17:05:03

0

这些网站大多需要用户向你发送电子邮件的链接以验证您的邮件。只有事后才能创建一个帐户。这样可以轻松回避有人试图窃取别人的电子邮件的问题:除非他们可以登录到您的电子邮件帐户,否则他们根本无法登录。

3

作为应用程序的设计者,您是在控制之下。你可以处理你想要的情况。

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

恶意用户使用虚假电子邮件创建数千次“虚假”帐户注册尝试。这些电子邮件坐下来等待永久确认,但永远不会因为它们不存在(尚未)而成为“正在使用”的电子邮件。一段时间后,合法用户恰好创建了一个使用GMail的电子邮件帐户,或者恰好匹配恶意用户早先提交的“伪造”电子邮件中的一个。此合法用户因此无法将您的电子邮件注册到您的服务中,因为恶意用户的'电子邮件被阻止'此地址。

我的个人意见是为注册人提供一定的时间来确认他们的地址是否合法,如果他们从未在该时间范围内确认,则放弃创建帐户的尝试。

0

您有“重发确认电子邮件”操作(您应该)或“忘记密码”操作(您应该)?只要我有权访问我的电子邮件,我都可以用我的电子邮件地址回收帐户。

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

相关问题