CGI::Session::CookieStore::TamperedWithCookie
アプリの設定を変更した後config.action_controller.session.secret
(完全な展開の準備の一環として) 、予期しないメッセージが表示されます。
テスターが Cookie を設定している間にシークレットを変更したことがこの原因であり、他にどのような原因があると想定するのは正しいでしょうか (セキュリティ攻撃とコーディングの問題の両方による)。
CGI::Session::CookieStore::TamperedWithCookie
アプリの設定を変更した後config.action_controller.session.secret
(完全な展開の準備の一環として) 、予期しないメッセージが表示されます。
テスターが Cookie を設定している間にシークレットを変更したことがこの原因であり、他にどのような原因があると想定するのは正しいでしょうか (セキュリティ攻撃とコーディングの問題の両方による)。
例外の原因は、テスターが Cookie を設定している間にシークレットを変更することです。Cookie は、ユーザーによる Cookie の改ざんから保護するために、シークレットを使用して暗号で署名されます。たとえば、権限を昇格させるために、保存されているユーザー ID を変更しようとする場合があります。
テスターに Cookie をクリアするように依頼できます。または、例外をキャッチして、アプリケーションの Cookie を削除することもできます。一部のサイトは、セッションをより詳細に制御するためにActiveRecordSessionストアを使用することを好むため、必要に応じてすべてのセッションをドロップしますが、パフォーマンスが犠牲になります。
はい、テスターは Cookie を消去する必要があります。指定されたシークレットで Cookie を復号化できない場合はいつでも、そのエラーが発生します。
エラーをトラップし、ユーザーにエラーを公開せずにログに書き込むプラグインをGithubで見つけました。Rails 2.1インスタンスでこの問題に悩まされ、うまくいきました。