バグ報告 > フロント機能 > ブラウザの「戻る」ボタンで「ページの有効期限切れ」が表示される等の問題 |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
k-sophia |
投稿日時: 2009/6/18 21:49
対応状況: −−−
|
新米 登録日: 2009/6/18 居住地: 投稿: 1 |
ブラウザの「戻る」ボタンで「ページの有効期限切れ」が表示される等の問題 ブラウザの「戻る」ボタンで戻ろうとする際に不具合があるようで困っています。「商品一覧ページ」が1〜4ページほどありまして、一覧に表示されている商品をクリックし「商品詳細ページ」へ進んだ後、ブラウザの「戻る」ボタンで戻ろうとすると、Firefoxではダイアログボックスの「再送信」ボタンを押せば戻れるのですが、Internet Explorer7(IE7)では「ページの有効期限が切れています」というページが表示され、Internet Explorer6(IE6)では「ページを表示できません」と表示されます。IE7の場合、それでももう一度「戻る」ボタンを押せば、一応戻ることはできるのですが、IE6では戻ることも進むこともできなくなります。この現象は「商品一覧ページ」の1ページ目から「商品詳細ページ」へ進んだ際は起こらないのですが、「商品一覧ページ」の2ページ目や3ページ目から「商品詳細ページ」へ進んだ際に起こります。
php.iniの設定で「session.cache_limiter = none」と記述すれば、こうした現象は起こらなくなる、という所までは調べたのですが、php.iniでこのような設定をしてしまうと、サイト全体に適用されてしまうため、会員登録や注文画面などの個人情報が関わるあたりで「戻る」を押すユーザーがいた場合、セキュリティ上の問題があるのではないか、と懸念しています。 セキュリティ上の問題は大したことがないのかどうか、php.iniの設定以外で解決する方法はないのか、どうすればよいか困っています。詳しい方がいらっしゃったらご教示ください。よろしくお願いします。 |
seasoft |
投稿日時: 2009/6/19 4:09
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: ブラウザの「戻る」ボタンで「ページの有効期限切れ」が表示される等の問題 「session.cache_limiter = none」が EC-CUBE に与える影響については別途検討が必要として、このディレクティブは PHP_INI_ALL ですので、.htaccess や *.php に埋め込むことで、他のアプリケーションへの影響を無くすことは可能です。
経験則的に、全ての画面で[戻る]ボタンを正常に動作させるというのは困難だと認識していますが、少なくとも商品一覧のページナビ遷移くらいはカバーしたいところですね。多分 POST しているのが原因なのでしょう。別件でも障害報告がありましたし、GET に変更するのが良いのかもしれませんね。
|
ramrun |
投稿日時: 2009/6/19 8:17
対応状況: −−−
|
仙人 登録日: 2006/11/3 居住地: 投稿: 789 |
Re: ブラウザの「戻る」ボタンで「ページの有効期限切れ」が表示される等の問題 ↓の件じゃないかと思いますが、結局これ、放置されてるみたいです。
・チケット #261 このフォーラムでも「ページの有効期限」とかで検索すると、過去の報告が確認できるかと。
追記: どこかで議論していたのをみたことあると探していたら、メーリングリストでした。 [comu-ml 0177] LC_Page::allowClientCache()が無効に http://webml.ec-cube.net/comu-ml/200804/msg00000.html |
seasoft |
投稿日時: 2009/6/19 23:50
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: ブラウザの「戻る」ボタンで「ページの有効期限切れ」が表示される等の問題 > ↓の件じゃないかと思いますが、結局これ、放置されてるみたいです。
> ・チケット #261 恒例のマイルストーン「EC-CUBE2.x.x」ですか・・・ EC-CUBEコミュニティ(eccube-comu) にて、ramrun 様ご指摘の方法を先行して対応してみました。 http://svn.ec-cube.net/open_trac/changeset/18132
|
ramrun |
投稿日時: 2009/6/22 15:53
対応状況: −−−
|
仙人 登録日: 2006/11/3 居住地: 投稿: 789 |
Re: ブラウザの「戻る」ボタンで「ページの有効期限切れ」が表示される等の問題 ありがとうございます。
こちらでも一応確認してみましたが、session_start()前にsession_cache_limiter()の設定をしていなければならないのは、Yammyさんの報告のとおりです。 つぎにsession_cache_limiter()で有効なのは
そうなるとブラウザ側では有効期限無し?でキャッシュされるみたいで、結論から言うと「有効期限切れ」は表示されなくなり、間違っているにもかかわらずプログラマからみれば期待通りになるようです。 といっても、先に書いたとおり、そもそもsession_start()の後でsession_cache_limiter()をしているので、php.ini等の初期設定次第ということになります。 ※php.iniのsession.cache_limiterは上記に加え、noneが使える |
lucky7 |
投稿日時: 2009/6/23 2:20
対応状況: −−−
|
一人前 登録日: 2008/6/2 居住地: 東京近郊 投稿: 101 |
Re: ブラウザの「戻る」ボタンで「ページの有効期限切れ」が表示される等の問題 php.iniに関しては詳しくは無いのですが、
以前より不具合を感じていました。 モバイルのようにページごとにURLが生成できれば 解決するかと思っていたのですが、 まだ実装は出来ていません。 ページごとにURLを生成しても変わりは無いでしょうか? 個人的にはページごとにURLが生成された方が メリットが大きいのではないかと感じています。
|
ramrun |
投稿日時: 2009/6/23 17:10
対応状況: −−−
|
仙人 登録日: 2006/11/3 居住地: 投稿: 789 |
Re: ブラウザの「戻る」ボタンで「ページの有効期限切れ」が表示される等の問題 引用:
モバイルのようにページごとにURLが生成できれば 試せる人は試して欲しいのですが、 eccube/data/class/pages/LC_Page.phpのallowClientCache()を
※赤は削除、青は追加 |
flealog |
投稿日時: 2009/6/23 17:54
対応状況: −−−
|
仙人 登録日: 2008/6/10 居住地: 投稿: 485 |
Re: ブラウザの「戻る」ボタンで「ページの有効期限切れ」が表示される等の問題 引用:
横から失礼します・・・ 修正してみました♪ すごいです。 問題の【戻る】ボタンのエラーは発現しませんでした。 このまま様子を見てみます^^
|
ramrun |
投稿日時: 2009/6/23 19:34
対応状況: −−−
|
仙人 登録日: 2006/11/3 居住地: 投稿: 789 |
Re: ブラウザの「戻る」ボタンで「ページの有効期限切れ」が表示される等の問題 flealogさん、ありがとうございます。
HTTPヘッダー的にはprivate_no_expireと同じものを出力しているはずなので、IE系のブラウザで問題なければallowClientCache()を生かすことができそうですね。 |
ramrun |
投稿日時: 2009/6/28 19:41
対応状況: −−−
|
仙人 登録日: 2006/11/3 居住地: 投稿: 789 |
Re: ブラウザの「戻る」ボタンで「ページの有効期限切れ」が表示される等の問題
|
(1) 2 3 4 » |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |