所以现在当用户注册时,他们的密码被散列并存储,他们的 id 作为主键存储,字段 email_activation 中的单元格默认枚举为“否”。然后他们会收到一封电子邮件,点击以下链接可以激活他们的帐户。
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 的一部分(假设字符串的适当卫生等...),这似乎是一种激活某人帐户的安全方法吗?
最佳答案
没有。使用单独的字段来包含激活散列,并使散列基于多项内容(用户名、密码散列、一天中的时间等)。
关于php - 通过 $_GET 激活帐户的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6851985/