ブラウザによるクッキー処理につきまして
現在、クッキーを利用してログイン~ログアウト等の処理をしていますが
ブラウザによって動作が異なるようです。
動作と言いましても特殊な事では無く、ログイン後手操作でログアウトしたらそのままログアウト。
ログイン中でもクッキーの設定時間を過ぎたらログアウト可能にしたいのですが
IEはバージョン6以降では特に問題も無く思ったとおりの動きを
してくれますが、Firefoxでは(ver3.6.2)手操作での任意のログアウトが出来ません。
具体的には、サンプルソースの様にlogin.phpでクッキーを設定してlogout.phpで
クッキーを削除していますが、Firefoxではクッキーが削除されません。
その為、ログイン後 手操作でログアウトしてもFirefoxではログアウト出来ません。
クッキー設定での時間を経過したら、ログアウト出来ます(クッキーも削除されます)
ログイン側~ログアウト側 両方とも時間など、いくつかやり方を変えて見ましたが
対策が見えていません。
(ブラウザによる相違があるようでしたのでサンプルソースの様にif文で分けています。)
Firefoxでは何か設定のやり方があるのでしょうか。
ご存知の方がいらっしゃいましたらご教授の程お願いします。
■環境
OS:WindowsXP
WEBサーバー:apache2.0
PHP:バージョン5.2
IE:バージョン 6/7 (クッキー許可)
Firefox:バージョン 3.6.2 (クッキー許可)
//--------------------------------------------
// login.php (省略サンプルソース)
// クッキー設定
$userid = 'abcd';
$Agent = getenv( "HTTP_USER_AGENT" );
if (eregi("firefox", $Agent)){ // Firefox
//setcookie('login_regist', $userid, time()+1);
setcookie('login_regist', $userid, time()+20);
}else{ // IE
setcookie('login_regist', $userid, time()+20);
}
//--------------------------------------------
// logout.php (省略サンプルソース)
// クッキー削除
$userid = 'abcd';
$Agent = getenv( "HTTP_USER_AGENT" );
if (eregi("firefox", $Agent)){ // Firefox
//setcookie('login_regist', $userid, time()-2400);
setcookie('login_regist', $userid, time()+0);
}else{ // IE
setcookie('login_regist', $userid, time() - 2400);
}