[PHP-users 16487]Re: セッション破棄後画面が表示されない現象について

Shin MATAMURA matamura @ m-flats.co.jp
2003年 7月 4日 (金) 12:28:39 JST


マタ@MFと申します。
問題点を絞るために「白いページ」について確認です。

>> 確認ですが、白い画面が表示された時に、Apacheのアクセスログや
>> エラーログの状態は何か変化ありますか?
>特に変化はないようです。
>正常表示時と同じログが残っております。
>
>★ログ
>xxx.xxx.xxx.xxx - - [03/Jul/2003:18:40:47 +0000] "POST /logout.php 
>HTTP/1.1" 302 5
>xxx.xxx.xxx.xxx - - [03/Jul/2003:18:40:47 +0000] "GET  /login.php  
>HTTP/1.1" 200 4228
>( ※ IPは略 )

ログを見る限り、Locationは正常に動作しているようですね。
ところで、「白いページ」とおっしゃっているページは、
login.phpで意図して出している物ですよね?
以前示して頂いた「白いページ」のソースに
<!-- saved from url=(0044)http://test/login.php -->
とありましたが、これはIEでファイルに保存した時にIEが
「どこのURLを保存したか」を記録したものです。
つまり、「白いページ」はlogin.phpが出力したものです。
さらに普通、PHPスクリプトが何も出力しなかった場合にPHPが
勝手に出力するHTMLに
<META http-equiv=Pragma content=no-cache>
とかって出力しないと思うので、login.phpが何かの条件で
意図的にこのページを出力したと考えられます。
この「条件」がポイントです。
それは「セッション変数がクリアされてなければ」なんでしょうか?
その条件によっては問題点が変わって来る事もあるかと思います。

また、変数のクリアに「session_unset」を使われていますが、
http://jp.php.net/manual/ja/function.session-unset.php
にある、
---引用
注意 $_SESSION(またはPHP 4.0.6以前の場合は$HTTP_SESSION_VARS)が使用さ れている場合、セッション変数の登録を削除するために unset()を使用して下さい。
すなわち、$_SESSION = array();
---引用以上
に抵触してないですよね?
 
今までの話のなかで出て来なかったので、一応確認です。


PHP-users メーリングリストの案内