Firefoxの戻るボタン

最近、PerlでのCGI作成の仕事を行っています。
IE と Firefox で動作確認をしているのですが、どうも Firefox の 戻る・進む ボタンでの動きがおかしいのです。

ネットで検索すると、どうやらいわゆるブラウザキャッシュとは別に、履歴のキャッシュを行っているらしいことがわかりました。

高速に 戻る・進む を実行するためらしいです。

が、ログアウトした後に、前画面のキャッシュを表示されるとまずいんじゃないでしょうか?
ログアウトした後に、戻るボタンでログアウト前の画面が表示されてしまいます。
更新を行うと、ちゃんとログインチェックを行い、ログイン画面へ戻ります。
キャッシュを無効化するHTTPのヘッダーが無視されています。

本当に困っています。

結局、「ブラウザの仕様です」と言うしか無いんでしょうか…

※ 2007/01/30 20:50 追記

PHP のヘッダーを参考に対応できました。以下のヘッダーを出力します。

Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-chache

no-store がミソのようです。


“Firefoxの戻るボタン” への3件の返信

  1. どうも。以前FCKeditorエキスパートを購入したものです。

    大変役に立ってます。ありがとうございます。

    私はPerlよくわからないので参考にならないと思いますが

    私のページは自作CMS(MTの真似)で、PHP+MySQLで構築しました。

    (半年くらいかかりましたが…http://artsnet.jp/)

    ここでログインして自分のサイトを更新する際にFCKeditor使ってます。

    で、この記事見て試してみましたが私のサイトはログアウト後

    戻っても問題ありませんでした。ただMojaviっていうフレームワークが

    Auth関係やってるので内部的に詳しく知らないのですが

    PHPならPHP.iniでsession.cache_limiter = nocacheなら

    FireFoxでもいけるんじゃないでしょうか?

    どうしてもPerlの開発で既に設計上ムリなら参考にならないと思いますが。。。

  2. コメントありがとうございます。

    PHPの出力するヘッダーを参考にして解決できました。

    Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0

    Pragma: no-chache

    で、良いようです。テスト時は”no-store”が抜けていました。

    Perl は汎用言語なので、Web開発はやっぱり PHP が楽ですね。

  3. おお、そういうことなんですね。

    私の場合いろいろフレームワークやらライブラリ使って解決して

    根本的な理解に欠けてるようなので勉強になりました。

    逆にありがとうございます。

コメントを残す

メールアドレスが公開されることはありません。

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください