对于我们的网站,我们使用以下教程(在cakephp中)设置帐户激活电子邮件:
http://www.jonnyreeves.co.uk/2008/06/cakephp-activating-user-account-via-email/
在我们的实际网站上,似乎激活大部分都有效,但有些人在点击激活电子邮件链接激活其帐户时收到以下错误:
错误:在此服务器上找不到请求的地址'/ users / activate / 36 / 10a1a794'。
这对我来说很奇怪,因为链接看起来很好:“用户”控制器,“激活”操作,user_id = 36和哈希码= 0a1a794。不确定为什么会发生这种错误。我读到的一件事是清除缓存文件夹中的文件,似乎没有任何改变。请帮助谢谢!
答案 0 :(得分:1)
激活哈希的有效性有限(当天)。
因此,如果在任何月份的第1天发送激活电子邮件,它将在1日晚上11:59之前有效。该链接在凌晨12:00之后无法正常工作(技术上是本月的第二天)。
希望有所帮助。
答案 1 :(得分:0)
是的,这就是Josh R所说的,哈希是在同一天计算的,这是一个非常糟糕的主意。
你应该停止散列日期或者根据两个值进行验证:一个用于今天的日期,一个用于昨天的日期。
另外,建议:不要只是去那里复制文件,尝试从中学到一些东西,请按照自己的方式去做。你会学到很多东西。