検索
連載

これだけは知っておきたいセッション変数の基礎もいちどイチから! HTTP基礎訓練中(8)(1/4 ページ)

前回の「基礎のキソ、エブリバディ・セッション管理!」に続き、セッション管理の基本を解説します。宿題の解答編もありますので、クイズを解く感覚でぜひ皆さんも挑戦してみてください(編集部)

PC用表示 関連情報
Share
Tweet
LINE
Hatena

誰もが最初は初心者でした

 勉強会を終えたクウたち3人は、喫茶店で話をしていた。

ナツ 「そうそう、そんなこともあったねー」

ジュン 「うんうん。なつかしい〜」

クウ 「そうなんですかー」

ナツ 「私もジュンも結構そのアキって子にほとんど教わってたんだよね」

ジュン 「そうだねー。あの子、何でも知ってたよね。いいかげんなふりしつつ、かなり勉強家だったよね」

ナツ 「セッション変数の話のときもかなり教えてもらったよねー」


数年前……


アキ 「んー、もう。だから違うってー」

ジュン 「えー。だって、サーバ側で管理してるんだから安全じゃん」

アキ 「じゃあ、もう1回最初から説明するよ?」

ナツ 「うん。お願いしますっ」

アキ 「セッション変数っていうのはね……」

 セッション管理を行っている場合、サーバ側でセッションIDに対して、何らかの状態を対応付けて管理することとなる。セッションID自体はランダムに発行された文字列でしかないため、その文字列が何を意味するのかを関連付ける必要が出てくる。セッション管理では、セッションにさまざまなパラメータを関連付けることができ、この関連付けを格納する領域を一般的に「セッション変数」と呼ぶ。

 例えば、セッション管理で認証状態を管理する場合、認証が成功した時点でセッションIDとログイン中のユーザーを関連付けるために、セッション変数にログインIDを格納する、というような形となる。

図1 セッション変数の利用
図1 セッション変数の利用

 セッション変数利用の概念は図1のようになるが、実際に格納される領域はセッション管理のメカニズムにより異なる。サーバ側に格納される形態としては、「ファイルに格納」「データベースに格納」「メモリ上に格納」などさまざまな方法がある(情報が漏えいしにくいよう揮発性のある格納形態が望ましいが、実装上困難となる場合も多い)。

 具体的に実際のセッション変数の例を示そう。以下は、PerlのCGI::Sessionを利用した場合の例である。CGI::Sessionでは、セッションIDとして発行された文字列を用いたファイルを生成し、その中に各セッション変数を格納している。

ファイル名:cgisess_5b095834e5134f862555f0adcd209c34
 
$D = {_SESSION_ID => '5b095834e5134f862555f0adcd209c34',_SESSION_ETIME => 300,_SESSION_ATIME => 1229242041,page => 'change_confirm',login_id => 'demo',_SESSION_EXPIRE_LIST => {},_SESSION_REMOTE_ADDR => '127.0.0.1',_SESSION_CTIME => 1229242034};

ジュン 「うん。サーバ側で管理されてるから安心だね♪」

アキ 「……まじめに聞かないと説明やめるよー?」

ナツ 「あー。ごめんごめん。続けてー!」

アキ 「まあ、サーバ側で管理しているのはそうなんだけど、そもそもセッション変数に入る値はどこから来ているかってことだよね」

ジュン 「どこから来てるんだろうねー。神秘だね!」

アキ 「まだいうか……。これが重要なのは、『もともとはユーザーの入力』だってことがほとんどってとこだね」

ナツ 「ふむ……」

Copyright © ITmedia, Inc. All Rights Reserved.

       | 次のページへ

Security & Trust 記事ランキング

  1. 経営層の約7割が「セキュリティ対策は十分」一方で6割以上がインシデントを経験、1位の要因は?
  2. 「SMSは認証に使わないで」 米CISA、モバイル通信を保護する8つのベストプラクティスを公開
  3. 米ホワイトハウス、“懸念国”への半導体輸出、AI規制を発表 日本含む18カ国は規制対象外
  4. 2025年、LLMの脆弱性が明確になるなど、セキュリティとクラウドに関する8つの変化
  5. 1年前と比べて1Tbpsを超えるDDoS攻撃が1885%増加、今すぐできる対策は? Cloudflare
  6. 「Appleの暗号化アルゴリズム」を盗用し、2カ月以上検出されなかったステルス型マルウェアの正体とは
  7. ゼロトラストの理想と現実を立命館大学 上原教授が語る――本当に運用できるか? 最後は“人”を信用できるかどうか
  8. 終わらせましょう。複雑過ぎるKubernetes/クラウドネイティブが生む心理的安全性の低下を――無料でクラウドセキュリティの勘所が分かる130ページの電子書籍
  9. 2025年に押さえるべきセキュリティの重要論点をガートナーが発表 新しいリスク、脅威、環境の変化、法規制などの動きを把握する指標に使える
  10. “ゼロトラスト”とトラスト(信頼性)ゼロを分かつものとは――情報セキュリティ啓発アニメ「こうしす!」監督が中小企業目線で語る
ページトップに戻る