[PHP-users 10316] Re: セッション切れについて教えてください
Naofumi Kondoh
php-users@php.gr.jp
Tue, 24 Sep 2002 12:43:18 +0900
ソフト工房の近藤です。
Masahito NAGATA wrote:
> 永田と申します。
...略...
>>PHP4を使用してショッピングサイトを作ろうとしています。
>>セッション切れの検出をして警告ページを出力したいのですが、
>>どのような検出方法があるのでしょうか。何方かお教えください。
>
>
> PHPのバージョンはいくつですか?
>
> 4.1.x 以降であれば、
> isset($_SESSION["hoge"]) などとして、セッション変数がセットされているかどうかとか、
> $_SESSION["hoge"] != "" などとして、セッション変数に値が入っているかどうか、
> などといった確認方法がありますね。
この方法だと、セッション切れか、新規セッションかの
判定ができないですね。
厳密に、セッションのタイムオーバーと、新規セッションを
区別したいのであれば、セッションファイル破棄までの
時間を十分長くするか、PHP の組み込み機能ではなく自分で
セッション情報管理をするようにしておいて、
(1)最終アクセス時刻をセッション情報に記録する。
(2)上記時刻より規定時間を経過したらセッション切れ
(有効時間超過)とみなした処理をする。
例えば、パスワードの再入力とか。
(3)セッション情報がなければ、新規セッションとして扱う。
ということで如何でしょうか。
どの程度厳密にしたいのかは、用途次第ですね。
会員制などで顧客番号や、メールアドレスで識別できる
システムの場合、DB に、前回アクセス時刻や、終了状態
等々を、会員や顧客毎に格納しておいて、次回アクセスに
その情報を使用するというようなこともできます。
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
(株)ソフト工房 近藤直文 Email: nkon@shonan.ne.jp
http://www.SOFTKOUBOU.co.jp/ http://www.shonan.ne.jp/~nkon/
2002-09-26(木)19:00-21:30 第6回 JPUG 業務アプリ分科会 勉強会
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/