[PHP-users 1702] Re: クッキー使えるか否かの判断

KOYAMA Tetsuji php-users@php.gr.jp
Fri, 31 Aug 2001 19:26:02 +0900


  小山です。ちよちゃんじゃありません(なぞ)。

At Fri, 31 Aug 2001 15:04:07 +0900,
NAKANO Katsujiro/中野勝次郎 wrote:
> 
> 中野です。質問です。
> 
> PHP4のセッションを使うと、
> 定数SIDが
> 
> ・クッキーが使えるときには SID=""
> ・クッキーを使え無いときには SID=session_id()
> 
> という状態になりますが、
> PHPのプロセッサはどこで判断しているのでしょうか。

  まず、php.ini で session.use_cookies = 1 が指定されていると、とりあ
えず PHP は cookie で PHPSESSID をセットしようとしますよね。この時点で
は定数 SID はセットされていないはずです。

  php.ini で session.use_cookies = 0 の場合は、定数 SID がセットされま
すが、その状態でもブラウザが cookie で PHPSESSID を送ってきたときは、
そちらの値の方が優先され、定数 SID はセットされないようです。cookie 経
由でセッションIDが得られたときは、そちらを優先して HTTP GET/POST 用の
環境設定はしないみたい。

  cookie と HTTP GET/POST を混在して使用するケースはあまりないか、あっ
ても独自に処理するのが通常だと思われるので、これでよいのでしょう。

> 正確にクッキーを使えるかどうかを判断するためには、
> クッキーをセットして読み込むという作業がいるものだと
> 思っているのですが、暗黙の内にクライアントブラウザと
> 対話しているのでしょうか。

  ということで、「cookie を使えるかどうかの判断は PHP はしていない」と
いうのが正解なんじゃないかと思います。cookie 経由でセッションIDが得ら
れたときは、そちらが常に優先されるということで。

-- 
	小山 哲志@ビート・クラフト
	koyama@beatcraft.com
	koyama@hoge.org