3

CGI::Session::CookieStore::TamperedWithCookie更改应用程序的设置后,我收到了异常config.action_controller.session.secret(作为全面部署准备的一部分。

我是否正确假设在测试人员设置了 cookie 时更改秘密是导致此问题的原因,以及可能存在的其他原因(均由于安全攻击和编码问题)

4

3 回答 3

3

您的异常的原因肯定是在测试人员设置了 cookie 时更改了秘密。cookie 使用秘密进行加密签名,以防止用户篡改其 cookie。例如,他们可能会尝试更改他们存储的用户 ID 以提升他们的权限。

您可以要求测试人员清除他们的 cookie。或者,您可以捕获异常并删除应用程序的 cookie。一些站点更喜欢使用ActiveRecordSession存储来更好地控制其会话,因此它们会在需要时删除所有会话,但会以性能为代价。

于 2008-09-22T14:18:40.600 回答
1

是的,测试人员应该清除他们的 cookie。任何时候无法使用指定的秘密解密 cookie,您都会收到该错误。

于 2008-09-22T09:55:06.147 回答
0

在 Github 上找到了一个插件,它会捕获错误并将其写入日志,而不会将错误暴露给用户。我在 Rails 2.1 实例上被这个问题困扰,它成功了。

于 2010-10-06T02:35:09.153 回答