セッションの基本

セッションの基本は、下記の動画がわかりやすかった。

セッション固定攻撃

Rails のセキュリティガイドより引用:

セッション固定攻撃の概要図。

session_fixation

ref. Rails セキュリティガイド - Railsガイド

Railsの場合、ログイン後にreset_session すればいいだけ。

最も効果的な対応策は、ログイン成功後に古いセッションを無効にし、新しいセッションIDを発行することです。これなら、攻撃者が固定セッションIDを悪用する余地はありません。この対応策は、セッションハイジャックにも有効です。Railsでは以下の方法で新しいセッションを作成できます。

reset_session

ref. Rails セキュリティガイド - Railsガイド

See also