[PHP-users 9355] Re: セッションと GCについて

Ryo Takahashi php-users@php.gr.jp
Sun, 18 Aug 2002 18:34:35 +0900


高橋です。

On Sun, 18 Aug 2002 09:48:26 +0900
ml@webappli.jp (しょうなり [ml]) wrote:

> >一つは、session_start()時に、セッションID発行時間など
> >をセッションに格納し、そのセッション変数に
> >値が入っていない場合はセッションが切れたと判断する。
> >
> >というような事を考えてみたのですが、
> >他の方法は、ありますでしょうか?
> 
> この発言が参考になるのではないでしょうか?

 教えて頂いたスレッドを読んでみたのですが、
 今ひとつ掴み切れていない状況です。
 もう少しやりたいことを明確にしてみます。

 まず、1つのスクリプトでセッションがGCされた場合に
 切り分けたい処理です。
 大きくわけてログイン前、ログイン後があります。
 ログイン時には、ログインID(認証に使われる特定の値)を
 セッション変数に登録します。

 切り分けたいスクリプトは、まず最初に
 ログイン前か、ログイン後を判断する為に、
 sesstin_start()を発行します。

 ・ログイン前の場合(ログインIDがセッション変数にない)
  ユーザ登録用のアンカーを表示。

 ・ログイン後の場合(ログインIDがセッション変数にある)
  ユーザ登録用のアンカー非表示

 ・ログイン後にセッションがGCされたいた場合(????)
  有効期限切れのエラー画面を表示。

 ログイン後にセッションがGCされてしまうと、
 セッション変数の中身は空っぽになってしまうので、
 仮に最終アクセス時間を入れたとしても判断できなく
 なってしまいます。(最初はできるかなと思ったんですけど、未熟でした・・)
 こういう場合は、どの用に、皆さん実装されているのでしょうか?

 以上、よろしくお願い致します。

-----
Ryo Takahashi hzi03463@nifty.com