2

我需要为网站创建一个激活系统。用户注册,收到一封电子邮件,然后单击查询字符串中带有密钥的链接,然后我端的脚本对其进行解码。

我的问题不在于编程本身,而在于生成链接的好方法是什么?散列是一种想法,但它是一种方式。我应该加密一些东西吗?有没有人负责同样的事情有任何见解?

有没有办法做到这一点:不在数据库中存储任何密码,不在查询字符串中放置任何明显的用户信息

用户位于具有主键 ID 和其他信息的表中。它不需要非常安全,但不应该很容易被破坏。我正在用 php 做这个。我找不到类似的问题,所以如果我忽略了一个问题,我会很感激一个链接。

4

1 回答 1

4

我之前通过对连接的记录 ID 和电子邮件地址执行和 md5 来完成此操作。如果需要,您可以添加一些额外的字符或字段。然后,当用户单击链接时,您只需再次运行相同的选择以查看是否匹配。

// generate the key
select md5(concat(id,email,'Some custom text')) as `verification_key` from ...

// verify the user
select * from user where '$verifikation_key' = md5(concat(id,email,'Some custom text'));

然后您可以更新用户记录以标记为已验证。

于 2013-10-21T12:20:03.277 回答