PHP4.0 から標準でサポートされているセッション管理機能の目的は、多数のユーザがアクセスする Webアプリケーションで、1人1人のユーザを区別することにあります。IDをクッキーや URI への埋め込みで保存し、セッションIDを各ページで共有することによって、ユーザを判別することができるようになっています。この節では、セッション管理の仕組みについて解説します。HTTPプロトコルが使われます。HTTPは、1回のリクエスト(要求)とレスポンス(応答)の間に、「接続→通信→切断」という一連の処理が行われます。
ID」 を発行します。そのセッションIDをクライアントのクッキー、あるいは URLを書き換えることによって同一ユーザとみなし、セッション中の管理が容易く行えることになります。IDがそれぞれのページごとにクライアントの Webブラウザに送られ、Webブラウザが次のページをリクエストすると、Webブラウザから Webサーバに IDを送り返します。IDをセッション中に登録しておくことで、Webサーバはそのクライアントのセッションが継続していると判断できます。セッションIDを格納する変数さえ登録できれば、どのページでもいつまでも IDを参照できるということになります。「$_SESSION」を用います。$_SESSION[セッション変数名] = 値;
IDと関連付けられ Webサーバ上に保管されます。初期値として特定のディレクトリに、名前の一部にセッションIDが含まれるようなファイルとして保管されます。当然、セッションの数だけファイルが生成されます。IDを知られると、簡単に「なりすまし」というセキュリティ上の危険にさらされます。IDをセットしてリクエストを行うだけで、認証を通さず他人に成りすますことができてしまうので、セッションIDを第三者が見ることができないよう最新の注意を払う必要があります。IPアドレスを暗号化したり、セッション情報の中の IPアドレスを保存して、違う IPアドレスからリクエストを遮断するといった方法があります。IDの漏洩は、以下のような要因で発生する場合があります。IDをリクエストするRefere を参照するSSLの利用や、クライアントユーザへの呼びかけを行うことで、セッションIDの漏洩に対して細心の注意を払うようにしたり、また、セッション中部分的にパスワードを要求することも選択肢の1つでしょう。