,我改變了config.action_controller.session.secret
設置上的應用程序(如準備充分部署的一部分後接受expcetion CGI::Session::CookieStore::TamperedWithCookie
。什麼是CGI的可能原因::會議:: ::的CookieStore在軌TamperedWithCookie例外
我是否正確地認爲在測試人員設置cookie的同時更改祕密是造成這種情況的原因,以及可能存在的其他原因(由於安全攻擊和編碼問題)
,我改變了config.action_controller.session.secret
設置上的應用程序(如準備充分部署的一部分後接受expcetion CGI::Session::CookieStore::TamperedWithCookie
。什麼是CGI的可能原因::會議:: ::的CookieStore在軌TamperedWithCookie例外
我是否正確地認爲在測試人員設置cookie的同時更改祕密是造成這種情況的原因,以及可能存在的其他原因(由於安全攻擊和編碼問題)
是的,測試人員應清除他們的Cookie。任何時候cookie都不能用指定的密碼解密,你會得到那個錯誤。
你的例外的原因肯定是在測試人員設置cookie時改變祕密。 Cookie使用密碼進行加密簽名,以防止用戶篡改其cookie。例如,他們可能會嘗試更改其存儲的用戶標識以提升其權限。
您可以要求測試人員清除他們的Cookie。或者,您可以捕獲異常併爲您的應用程序刪除Cookie。有些網站更願意使用ActiveRecordSession商店來更好地控制其會話,以便在需要時刪除所有會話,但代價是性能。
我發現了一個plugin on Github,它會捕獲錯誤並將其寫入日誌而不會將錯誤暴露給用戶。我在Rails 2.1實例中受到這個問題的困擾,並且做到了這一點。