激活用户帐户的最佳算法

Best algorithm to activate user's account

我有一个像这样的网站。当用户创建一个帐户时,他们的帐户被停用,直到打开他们的电子邮件并单击我之前发送的URL。

那URL应该包含什么参数?


目前我对用户的电子邮件进行哈希处理并将其作为参数传递给 URL。因此,当用户点击它时,我会收到经过哈希处理的电子邮件并进行比较。但是我的算法不好,因为用户可以散列自己的电子邮件并将其传递给我的脚本,而无需打开他的电子邮件。好吧,我想知道,我怎样才能创建一个 confirm-account-url 以及如何验证它?

您可以生成一个随机字符串,并将其存储在数据库中,在用户的记录中。然后发送包含该字符串的 URL 的电子邮件。因此,您可以轻松地在数据库中查找该字符串,并激活帐户。