为网站创建激活链接,生成方法


Create an activation link for a website, what method to generate it?

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

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

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

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

我之前通过在连接的记录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'));

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