[PHP-users 20783]Re: 再び教えてください。セッションについて

Masayuki Tadano tadano @ d-product.co.jp
2004年 3月 14日 (日) 16:19:19 JST


ただのと申します。


柳町 洋光 <hiromitsu @ m9.dion.ne.jp> wrote:


(ちょっと略)

>  で、勉強を先に進めているところなのですが、セッションというものが出て
> きました。なにか使うと便利だということは分かるのですが、使い方がいまい
> ちよく分かりません。

「なにか使うと」ということではなくて、その必要性を理解すると
いいと思いますよ。
HTTP プロトコルでは、クライアントを特定するのが出来ないので、
その状態管理(ログインしているとか)を Cookie データ(をやり取り
することで行います。
その際に、保存しておくべき内容は、サーバー側で管理します。


>  幾つか疑問があるので、お答えいただければ幸いです。
> 疑問1:ユーザーの判別はPHPがしてくれるのですか?スクリプト内には
> ユーザーを識別している箇所がみつかりません。見落としているならサンプル
> コードを抜き出して教えてください。
>  疑問2:ファイルを使ったセッション管理を考えていますが、ファイルは自
> 動保存自動読み込みされるのですか?ファイルを使ったセッション管理をして
> いるスクリプトが私の探した限りでは見つかりません。どのようにすればいい
> かサイトなどを教えてください。

これらは、新井さんもご指摘の、
http://www.php.net/manual/ja/ref.session.php
や、
http://www.php.net/manual/ja/function.session-start.php
にあるサンプルを見れば、お分かりかと。

それだけではなんなんで、ブラウザでクッキーの内容を表示させて
みるともう少し分かるかもしれません。

例えば、IE6 ならば、「ツール」⇒「インターネットオプション」
⇒「プライバシー」⇒「詳細設定」の「自動 Cookie処理を上書きす
る」で、「ダイアログを表示する」とすると、セッション開始のペ
ージにくれば、サーバー側から送信されてくる Cookie の内容がわ
かります。
このクッキーデータがセッションID となります。

Linux(FreeBSDもかな)ならば、標準では、/tmp 以下に、
「sess_セッションID」と言う名前のファイルが出来ているはずです。
その内容はテキストデータなので、中身を見る権限があれば、セッ
ションで管理しているデータの内容を見ることができると思います。

このファイルへの保存(シリアライズ化)や、復帰は自動で行われます
(ただし、セッション管理化のページのみですが)。

>  疑問3:クッキーを使わないセッションの場合、特別な処理をしなくてもU
> RLにセッションIDは含んでくれるのでしょうか?

これは、新井さんのご指摘の通りです。

>  基本的な質問ですみません。でも、これでもうすでに2週間止まったままなの
> です。どうか手助けをお願いします。

まずは自分でやってみては如何ですか。そうすればそんなに長い時
間はとまったままでないかと。


# 自分自身に、Reply-TO: ヘッダは必要ないですよ。

-- 
Masayuki Tadano <tadano @ d-product.co.jp>



PHP-users メーリングリストの案内