セッション情報が上書きされる
created: 2009-03-02 18:33 | modified: 2009-03-04 00:52 | reply: 4
[4264] セッション情報が上書きされる - pyon - 2009-03-02 18:33- [4265] Re.セッション情報が上書きされる - ゆうじ - 2009-03-03 00:47
- [4266] Re.セッション情報が上書きされる - pyon - 2009-03-03 10:40
- [4267] Re.セッション情報が上書きされる - ゆうじ - 2009-03-03 19:47
- [4268] セッションの上書きを再現出来るパターン - ゆうじ - 2009-03-04 00:52
[4264] セッション情報が上書きされる
user: pyon | created: 2009-03-02 18:33
現在開発しているサイトにて下記の現象が発生しています。
セッション情報はDBに保存しております。
1:セッション開始
2:ログイン認証されていない場合(セッション情報にユーザー情報がない場合。もしくはユーザーアカウントがない場合)は強制的にログイン画面表示
3:ログイン画面表示
4:ログイン認証
5:認証OKの場合セッションにユーザー情報を格納してリダイレクト
6:認証されている(セッション情報にユーザー情報が格納されている)はずなのでトップページを表示する・・・はずがセッション情報が初期化されている
5の段階でセッション情報(DB)を確認すると確かにユーザー情報が格納されているんですが、その後なぜか空で上書きされているようです。
セッション情報をDBに保存するための独自クラス内で確認しましたが、どうもリダイレクトの後に上書きされてしまっているようで、debug_backtrace()で書き込みしようとしているファイルを特定してみましたが呼び出し元は空でした・・・
「807」のトピック(http://www.sound-uz.jp/php/bbs/thread/807)で上書きされるという現象が認知されているようなんですが、どうやって回避したんでしょうか?(というかそもそも原因は何でしょうか?)
ちなみに、セッション情報をファイルに保存すると上記現象は発生しません。セッション保存用ハンドラがおかしいのかとも思いましたが、普通にセッション変数に値を入れたりした場合は正常に動いており、リダイレクトなどをすると初期化されてしまうようです。
PHPは5.2.6です。
セッション情報はDBに保存しております。
1:セッション開始
2:ログイン認証されていない場合(セッション情報にユーザー情報がない場合。もしくはユーザーアカウントがない場合)は強制的にログイン画面表示
3:ログイン画面表示
4:ログイン認証
5:認証OKの場合セッションにユーザー情報を格納してリダイレクト
6:認証されている(セッション情報にユーザー情報が格納されている)はずなのでトップページを表示する・・・はずがセッション情報が初期化されている
5の段階でセッション情報(DB)を確認すると確かにユーザー情報が格納されているんですが、その後なぜか空で上書きされているようです。
セッション情報をDBに保存するための独自クラス内で確認しましたが、どうもリダイレクトの後に上書きされてしまっているようで、debug_backtrace()で書き込みしようとしているファイルを特定してみましたが呼び出し元は空でした・・・
「807」のトピック(http://www.sound-uz.jp/php/bbs/thread/807)で上書きされるという現象が認知されているようなんですが、どうやって回避したんでしょうか?(というかそもそも原因は何でしょうか?)
ちなみに、セッション情報をファイルに保存すると上記現象は発生しません。セッション保存用ハンドラがおかしいのかとも思いましたが、普通にセッション変数に値を入れたりした場合は正常に動いており、リダイレクトなどをすると初期化されてしまうようです。
PHPは5.2.6です。
