CookieStoreによるセッション管理について

f:id:ryoutaku_jo:20190721004521p:plain

【結論】

・CookieStoreとは、Railsのデフォルトで用意されているセッション管理方式

・セッション情報を暗号化して、ブラウザのCookieに保存することで、DBへのアクセスが不要となるため、処理が高速。

・セッション再生攻撃のリスクと、Session情報を自由に変更できないデメリットが存在する

【目次】

【本題】

CookieStoreについて

CookieStoreとは、Railsのデフォルトで用意されているセッション管理方式です。

セッション情報は暗号化してブラウザのCookieに保存します。

他のセッション管理方式だとDB方式やインメモリ方式などがありますが、それらと比較すると処理がDBなどにアクセスする処理が無い分、処理が高速というメリットがあります。

しかし、セッション再生攻撃のリスクと、Session情報を自由に変更できないデメリットも存在します。

セッションには通常、最大でuser_idとflashメッセージが含まれます。どちらもクッキーのサイズ制限内(4K)に収まります。

4Kを超えるデータを保存しようとすると、CookieOverflowの例外が発生します。

また、Rails4以降ではデフォルトでクッキーが暗号化されます。

参考情報

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

Railsのセッション管理には何が最適か - Qiita

《今日の学習進捗(3年以内に10000時間に向けて)》

飲み会や障害対応やらで生活習慣が狂ってる・・・土日でリセットせな・・・

学習開始からの期間 :224日
今日までの合計時間:2156h
一日あたりの平均学習時間:9.7h
今日までに到達すべき目標時間:2046h
目標との解離:110h
「10,000時間」まで、

残り・・・「7844時間!」