rails中CGI :: Session :: CookieStore :: TamperedWithCookie异常的可能原因是什么?

时间:2008-09-22 09:52:56

标签: ruby-on-rails security cookies

我在更改应用上的CGI::Session::CookieStore::TamperedWithCookie设置后(作为准备完全部署的一部分)收到了exp config.action_controller.session.secret

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

3 个答案:

答案 0 :(得分:3)

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

您可以要求测试人员清除他们的cookie。或者,您可以捕获异常并删除应用程序的cookie。有些网站更喜欢使用ActiveRecordSession商店来更好地控制他们的会话,因此他们会在需要时放弃所有会话,但会牺牲性能。

答案 1 :(得分:1)

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

答案 2 :(得分:0)

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