Web開発におけるセッション管理【現役エンジニアが解説】

PROGRAM

今回は、Web開発におけるセッション管理について、現場の視点で簡単に解説していきます。

セッション管理とは

セッション管理とはデータを次のセッションで引き継げるよう保持することです。

例えば、会員制サイトでのログイン状態の保持は代表的なセッション管理になります。

ユーザにはセッションIDを持たせ、データはサーバに保持することで、データの引継ぎを行います。

セッション管理の方法

セッション管理は、前述のセッションIDでユーザを特定し、管理しています。

セッションIDは、基本的にはCookieに保存し、Cookieの外では持たないようにします。

GETやPOSTパラメータで指定する方法もありますが、脆弱性があるため、おすすめしません。

セッション管理の脆弱性

セッション管理の脆弱性には注意が必要です。

セッションIDはGETやPOSTパラメータで指定する場合、攻撃者に漏洩する可能性が高いです。

現在ではCookieのセッションIDを利用することが一般的ですので攻撃者が取得する可能性は低くなっていますが、ログイン成功時にセッションIDをリセットするようにアプリを作ることが推奨されます。