我在更改应用上的CGI::Session::CookieStore::TamperedWithCookie
设置后(作为准备完全部署的一部分)收到了exp config.action_controller.session.secret
。
我是否正确地假设在测试人员设置cookie时更改秘密是导致这种情况的原因,以及可能存在的其他原因(由于安全的攻击和编码问题)
答案 0 :(得分:3)
当测试人员设置了cookie时,您的例外原因肯定会改变秘密。使用秘密对cookie进行加密签名,以防止用户篡改其cookie。例如,他们可能会尝试更改其存储的用户ID,以提升他们的权限。
您可以要求测试人员清除他们的cookie。或者,您可以捕获异常并删除应用程序的cookie。有些网站更喜欢使用ActiveRecordSession商店来更好地控制他们的会话,因此他们会在需要时放弃所有会话,但会牺牲性能。
答案 1 :(得分:1)
是的,测试人员应该清除他们的cookie。任何时候无法使用指定的秘密解密cookie,您将收到该错误。
答案 2 :(得分:0)
我找到了一个plugin on Github,它会捕获错误并将其写入日志,而不会将错误暴露给用户。我在Rails 2.1实例上受到了这个问题的困扰,并且它成功了。