PHP で部分的に継承された Web アプリケーションがあり、Fiddler をいじった後、以前よりも少し多くのデータがあります。私が解決しようとしている問題は、IE6/8 での不要なログアウトですが、FF/Chrome ではありません。ユーザーが別のページをクリックすると、ログイン データの Cookie は消えます。
動作は FF と IE で異なり、報告される情報は Fiddler(/IE) と Live HTTP Headers(/FF) でほぼ同じように異なります。
Firefox では、Cookie は PHP で指定されているように処理されているように見えます。Cookie は、ユーザーがログインして「Remember me」をチェックしたときに作成され、ユーザーがログアウト ページにアクセスした場合にのみ削除され、有効期限は 2 週間です。ライブ HTTP ヘッダーは何も報告しません。ユーザーがページ間をクリックしたときに、Cookie が変更または削除されたと報告されることはありません。
しかし IE では、ユーザーが別のページをクリックすると消え、Fiddler はレポートします。
クッキー / ログイン Set-Cookie: ********=削除済み; expires=Sun, 29-Jun-2008 21:07:46 GMT; パス=; ドメイン=.********.com Set-Cookie: ********=削除済み; expires=Sun, 29-Jun-2008 21:07:46 GMT; パス=; ドメイン=.********.com
('deleted' は、文字通り Fiddler の出力から引用されています。私のコードには、いずれかの値が 'deleted' のマジック ストリングに設定されている場所はありません。)
IE と Firefox では、サイトのメッセージの解釈が異なるだけでなく、Fiddler と HTTP ライブ ヘッダーは、それに応じてサイトの動作の異なるバージョンを報告します。
IE と「削除済み」について何か特別なことはありますか? これは奇妙に聞こえるかもしれませんが、IE は各ページ ビューなどで Cookie を再度有効にすることを望んでいるのでしょうか。
また、ユーザーがログアウト URL にアクセスして要求しない限り、問題の Cookie がサーバーによって削除されないように IE を緩和するにはどうすればよいですか?