railsのsessionの値の保存先
railsのsessionの値は暗号化されているということなので、どこに保存されているのか気になっておりました。
なぜなら、これがバレてしまえば、アカウントハックの可能性が生まれるからです。
sessionについて
railsのsessionはcookieを暗号化して保存しています。
保存先がこちらになります(違ったら教えてください)
ここのSet-Cookieの値です。
これはレスポンスヘッダーの状態管理のためのCookie情報です。
cookieなので、第三者にバレる可能性はあるのですが、その値から逆算して元の値をはじき出すのは至難の技になっています。
ちなみにcookie以外の保存先としては、ActiveRecordStoreというgemを使用して、データベースにsessionを保存させる方法もあります。
GitHub - rails/activerecord-session_store: Active Record's Session Store extracted from Rails
セキュリティ上の注意点です。
アプリ作成だと、ログアウト時にsessionの値を削除しない人もいるので、そこを狙われてセッションハイジャックという手法でアカウントハックされることもあります。
sessionの値が変更されないと、どんなにセキュリティを高めたところで、バレたら固定値と同じなので、アカウントハックができるという話です。
なので、sessionの値はログアウトした場合、きちんと削除することが重要になってきます。
簡単ですが、これで説明を終わります。
もう一回まとめて、文章にしたい・・・