为网站创建激活链接,生成它的方法是什么?

时间:2013-10-21 12:10:05

标签: php encryption registration activation

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

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

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

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

1 个答案:

答案 0 :(得分: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'));

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