この質問によると、セッションはユーザーが編集できます。しかし、この回答は、ユーザー ID を保存しても安全であることを示唆しています。
データの整合性を確保するために、Cookie にはメッセージ ダイジェストが含まれています。ユーザーは、ハッシュに含まれる秘密鍵を知らずに自分の user_id を変更することはできません。
ページに<%= debug(session) %>
埋め込まれ、Chrome の開発者ツールにセッション値があるため、セッション cookie にメッセージ ダイジェストが見つかりません。ユーザー A としてログインし、ユーザー B としてログインすると、セッション Cookie は同じ例外user_id
値のままです。
では、メッセージ ダイジェストはどこにありますか、それとも設定が必要ですか? 自動生成された secret_token は にありconfig/initializers/secret_token.rb
ます。サーバーのメモリに保存され、リクエストごとにセッション値をハッシュしますか?