从这个问题我真的很喜欢@woliveirajr 的回答,因为它解决了:
- 如何防止泄露网站上使用的电子邮件地址
- 验证电子邮件地址的所有者
为了避免这种泄漏,您还可以通过询问电子邮件来开始注册过程。输入后,您将发送一封带有链接的电子邮件,以便用户可以继续注册过程。如果该电子邮件已注册,您将发送一封电子邮件,说明这一点。
这样,只有电子邮件的所有者才能注册。
缺点:
- 可能真正的普通用户会因为注册的步骤太多而感到无聊。
- 在极少数情况下,简单地透露电子邮件已在站点中注册是一个问题,特别是因为在任何提供您想要的电子邮件的站点上注册都很容易。您将不会收到激活帐户的电子邮件,但通常该站点会将帐户/用户名链接到该电子邮件。
我不确定的是如何实现一个系统,用户只能在单击电子邮件中的链接时访问注册页面。注册页面是否会使用 GET 检索传递给它的数据并验证“代码”以了解用户是否可以注册,并且此代码每 30 分钟更改一次?例如,通过电子邮件发送的注册链接可能会mysite.com/register.php?secretcode=as18d
检查register.php
“代码” as18d
,但此代码每 30 分钟会更改一次。这是这个主意吗?代码是否会由基于系统时间的加盐哈希生成?
或者,可以通过电子邮件发送带有几个字母的链接,而不是电子邮件,用户进入注册页面进行身份验证,有点像捕获的工作方式,但不是真的。