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 に答える