1

我目前在一个小型网站上工作,我的客户非常关心隐私问题。

我正在使用普通电子邮件验证实现用户注册,即当用户想要注册时,他需要提供一个电子邮件地址,并且包含验证链接的电子邮件将发送到该地址。

在注册表单中,我正在执行通常的表单验证。如果用户名 - 可以自由选择 - 已被使用,则会显示一条消息,说明这一点。我的第一个想法是对电子邮件地址做同样的事情,因为这个地址在整个系统中也应该是唯一的。

但在某些情况下,即使某人在网站上注册的信息也可能是私密的。但是现在,如果有人想知道其他人是否已注册以及是否知道其他人的电子邮件,他可以简单地尝试使用这个已知地址注册一个新用户,错误消息会告诉他这个人是已经登记了。

我有一个想法如何解决这个问题(我将把它作为自我回答发布)但我想知道,如果 1)这个解决方案有任何其他缺陷,以及 2)是否有其他可能的解决方案来解决这种情况。

谢谢。

4

2 回答 2

3

所以这是我想到的解决方案。如果您发现任何问题,请发表评论:)

如果新用户使用现有的电子邮件地址,我将简单地显示“正常”成功消息,说明带有链接的电子邮件已发送到给定地址。

然后会向这个地址发送一封电子邮件,说有人试图用这个地址注册一个新用户,这个地址已经被使用并且只能使用一次(基本上,验证错误消息只会发送到电子邮件地址而不是网络浏览器)。

于 2011-11-15T09:58:33.903 回答
3

您是否考虑过选择根本不处理它?

大约有许多 ID 提供者;并且使用与 Stack Exchange 系列网站类似的方法可能更适合您的情况。

将 ID 管理委托给外部提供商非常容易,并且比必须自己处理密码、电子邮件、用户唯一性等更安全。

此外,大多数 ID 提供商将允许您访问注册用户的电子邮件地址,因此这不太可能成为问题。

于 2011-11-15T10:08:12.710 回答