1

对于我们的网站,我们使用以下教程(在 cakephp 中)设置帐户激活电子邮件:

http://www.jonnyreeves.co.uk/2008/06/cakephp-activating-user-account-via-email/

在我们的实时站点上,激活似乎大部分都有效,但是有些人在单击激活电子邮件链接以激活他们的帐户时收到以下错误:

错误:在此服务器上找不到请求的地址“/users/activate/36/10a1a794”。

这对我来说很奇怪,因为链接看起来很好:“用户”控制器,“激活”操作,user_id = 36,哈希码 = 0a1a794。不知道为什么会发生此错误。我读到的一件事是清除缓存文件夹中的文件,这似乎没有改变任何东西。请帮忙谢谢!

4

2 回答 2

1

激活哈希的有效性有限(同一天)。

因此,如果在任何一个月的 1 日发送激活电子邮件,它将在 1 日晚上 11:59 之前有效。该链接在上午 12:00(技术上是每月 2 日)之后将无法使用。

希望有帮助。

于 2010-12-10T16:42:09.927 回答
0

是的,这就是 Josh R 所说的,哈希是在同一天计算的,这是一个非常糟糕的主意。

您应该停止对日期进行散列处理或根据两个值进行验证:一个用于今天的日期,一个用于昨天的日期。

另外,建议:不要只是去那里复制文件,尝试从中学习一些东西,然后按照自己的方式去做。你会学到更多。

于 2010-12-10T17:41:36.123 回答