[PHP-users 675] Re: セッションID を生成する仕組みについて

KOYAMA Tetsuji php-users@php.gr.jp
Thu, 12 Jul 2001 16:30:36 +0900


  小山です。

At Thu, 12 Jul 2001 16:02:01 +0900,
Series wrote:
> 現在php4のセッションIDの関数を利用してセッション管理を
> 行うプログラムを書いています。Perlによる上記例のように
> 同じセッションIDをとられないようにするためには、sesson_start()
> に推測されないフレーズを引数として与えたいのですが、その方法が
> わからないのです。

  PHP4 のセッション ID は REMOTE_ADDR や REMOTE_PORT とは関係なく生成
されます。

> ※PHP4がデフォルトで生成するsession_start()で生成される
> セッションIDは、本当にユニークなIDと考えてもよいのでしょうか?

  有限な数の集合である以上、完璧にユニークであるとは言い切れないと思い
ますが、事実上ユニークと考えても差し支えないでしょう。

> また、なんらかの原因によって用意したsession_destroy()を走らせな
> かった場合、一定の時間が経過したあとに自動的にセッションを破棄
> させたいのですが、これは可能でしょうか?

  まずは PHP のマニュアルのセッションの項をじっくり読んでみると良いで
しょう。

	http://www.php.net/manual/ja/ref.session.php


# 実は今書いている WEB+DB Press Vol.4 の原稿は、セッションネタだった
# りします。(^^;

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