所以现在当用户注册时,他们的密码被散列并存储,他们的id被存储为主键,并且默认情况下,email_activation字段中的单元被枚举为'no'。然后他们会发送一封电子邮件,通过点击下面的链接可以激活他们的账户。
http://website.com/activation.php?id=1&pass=23a000e03e9116c958dh923542
点击该链接后,下面的脚本运行
$id= $_GET['id'];
$hashPass= $_GET['pass'];
mysql_query("UPDATE members SET email_activation='yes' WHERE members_id='$id' AND members_password='$hashPass'")
这个问题似乎像一个安全的方式来激活某个用户的帐户考虑其散列通是URL的一部分(假设的适当的卫生设施字符串等...)?
感谢琥珀,我喜欢将激活基于注册帐户时分配的随机值的想法。 – user784637
其实,你可以推荐一个函数在PHP中生成随机长度的随机字母数字字符串? – user784637
你可以根据'rand()'或'mt_rand()'自己写一个。 – Amber