セキュリティ

セッションIDとは | 分かりやすく図解で解説

2019年11月16日

セッションIDとは

セッションIDとは、Webサイトなどで通信中の利用者が使用するセッションを識別するためのIDのことです。セッションIDは一般的にログイン時にWebサーバにより払い出され、ログアウトするまで維持します。

セッションIDとは

Webサイトは複数のユーザが利用します。もしセッションIDが存在しないと、要求を受けたサーバは誰からのリクエストなのか判断できません。

セッションIDが存在しないと判断できない

このようにログイン時にセッションIDを払い出し、利用者を識別する仕組みのことを「セッション管理」といいます。

Webサーバにより払い出された「セッションID」は、Webブラウザで情報を共有する仕組みであるCookieやストレージなどを利用しクライアント側に保存します。以降は通信のたびにクライアント側からセッションIDを送ることで、Webサーバは利用者の識別を行うことができるのです。

スポンサーリンク

セッション管理の流れ

1. Webサイトにログインする

始めに利用者がWebサイトにログインします。

そして要求を受けたサーバは、利用者が入力した「ログインID」と「パスワード」が正しいかチェックします。

Webサイトにログインする

2. セッションIDを払い出す

ログイン要求を受けたサーバは、ログインに成功すると「セッションID」を払い出しセッション管理を開始します。

そして、利用者に「ログイン成功」のレスポンスを返却。この時払い出した「セッションID」も付与して返却します。払い出された「セッションID」はCookieやストレージなどを利用しクライアント側に保存します。

セッションIDを払い出す

セッション管理は通常「HttpSession」などを利用してサーバ上で管理します。ただしロードバランサで負荷分散する場合は、データベースを利用してセッション管理することもあります。

3. ログイン後に閲覧可能なWebページ(会員ページ等)を開く

ログインが完了した後は、ログイン後に閲覧可能なページ(会員情報など)を表示。この時リクエスト情報にセッションIDを付与して送信します。

要求を受けたサーバは、セッションIDから利用者がログイン済みであるかチェック。もしログインしていない利用者の場合は、ログイン画面やエラー画面へリダイレクトすることで、外部からの不正アクセスを防ぎます。

会員情報表示依頼

4. ログイン後の閲覧可能なWebページ(会員ページ等)を返却する

会員ページの要求を受けたサーバは、セッションIDが正しいかチェックし、正しければ会員情報を返却します。

会員情報返却

5. Webサイトからログアウトする

利用者がWebサイトからログアウトする時、リクエスト情報にセッションIDを付与して送信します。

ログアウト要求を受けたサーバは、セッション情報を削除し「セッション管理」を終了します。

ログアウト

helpful