バグ報告 > フロント機能 > ブラウザの「戻る」ボタンで「ページの有効期限切れ」が表示される等の問題 |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
ramrun |
投稿日時: 2009/7/3 19:39
対応状況: −−−
|
仙人 登録日: 2006/11/3 居住地: 投稿: 789 |
Re: ブラウザの「戻る」ボタンで「ページの有効期限切れ」が表示される等の問題 なんだか犠牲者?をだしてしまったようですみません(汗)。
私がコミットしていた内容なのですが、「ページの有効期限切れ」を出さないように...といえばそのとおりなのですが、いままで機能していなかったallowClientCache()を機能させることが目的でした。 private_no_expireの状態... ですね。 ところがいざ機能させてみると、privateのExpiresヘッダーなしという状態はキャッシュの効きが良すぎる状態だった、というのがわかったところです。 キャッシュに関するヘッダーを出さないnoneの状態が、こちらにとって一番都合のよい設定なのですが、プロキシが入るとキャッシュされそうなのでprivateに比べるとセキュリティが... という感じで。 いまちょこちょことチェックしているところです。 kuroさんはこのトピックのどこの設定まで行ってますか? チェンジセット 18143までやってしまっているなら、とりあえず チェンジセット 18149の状態にしていただければと思います。 |
kuro |
投稿日時: 2009/7/6 17:56
対応状況: −−−
|
半人前 登録日: 2008/7/23 居住地: 投稿: 20 |
Re: ブラウザの「戻る」ボタンで「ページの有効期限切れ」が表示される等の問題 ramrun様
読み返してみたら失礼を申し上げておりました。 申し訳ございません! ご丁寧に、ご返信いただきましてありがとうございます。 キャッシュを許可することによる「不正なページ移動」のお問い合わせ増加は、 ramrun様の方法を試させていただく前から (別のサイトでphp.iniの設定を「session.cache_limiter = none」にしていた時から) 起こっておりました。 こちらのトピックをご覧の皆様はどう対処されているのかと思いまして・・・ そもそもあまり起こらない問題でしたら申し訳ございません。 > チェンジセット 18143までやってしまっているなら、とりあえず > チェンジセット 18149の状態にしていただければと思います。 アドバイスを頂戴しましてありがとうございます。 確認しましたところ、両方行っておりました。 とりあえずは「不正なページ移動です」エラーの画面に エラーについての案内文と、ヒストリーバックではない「戻る」のリンクボタンを追加して 様子を見ております。 色々とご教示いただきまして、本当にありがとうございます。 |
ramrun |
投稿日時: 2009/7/6 19:22
対応状況: −−−
|
仙人 登録日: 2006/11/3 居住地: 投稿: 789 |
Re: ブラウザの「戻る」ボタンで「ページの有効期限切れ」が表示される等の問題 kuroさん
そちらのサーバ環境がわからないのではっきりいえませんが、session.cache_limiter = noneで「不正なページ移動」が出る場合、画面遷移用にhtmlに埋め込んでいるtransactionidが古いまま(キャッシュが効いたまま)の状態なのかもしれませんね。 noneはクライアントとプロキシに対してキャッシュの指示をださないというものです。 クライアントの動作に関しては私のほうでも確認しているかぎり「不正なページ移動」は確認していません。 kuroさんの環境にはプロキシが入っているのでしょうか? 先に書いたYahooで使われてるヘッダ Cache-Control: private Pragma: no-cache にすれば、プロキシのキャッシュをなくせるかもしれません。 追記: allowClientCache()を↓のように変更して
チェンジセット 18149の
|
kuro |
投稿日時: 2009/7/9 18:03
対応状況: −−−
|
半人前 登録日: 2008/7/23 居住地: 投稿: 20 |
Re: ブラウザの「戻る」ボタンで「ページの有効期限切れ」が表示される等の問題 ramrunさま
ご返信がおそくなりまして、申し訳ございません。 アドバイスをいただきまして本当にありがとうございます! ご教示いただいた方法を試させていただきましたが、 【session.cache_limiter = none】の場合と同じ結果になりました。 やはり、環境の問題なのかも知れません・・・ 私の環境でいくつかのサイトで試したところ、 下記のような状態なのですが、 この時点で通常とは動作が異なっていますでしょうか・・・ ============================================= session.cache_limiter = nocache の場合 ============================================= ?カートの中 ↓ ?会員・非会員分岐 ↓(会員登録せず購入する方へ) ?注文者情報入力 ↓ ?支払方法選択画面 ?→?にブラウザの「戻る」ボタンで戻ると、 ★Firefoxの場合 ------------------------------- 「このページを表示するにはフォームデータを再度送信する必要があります。 フォームデータを再送信すると以前実行した検索、投稿や注文などの処理が繰り返されます。」 という確認ダイアログが表示される。 「再送信」を選択すると、「不正なページ移動です」エラー。 ★IEの場合 ------------------------------------ 「Web ページの有効期限が切れています」画面の表示。 ブラウザの「更新」ボタンを押すと、「不正なページ移動です」エラー。 ============================================= session.cache_limiter = none の場合 ============================================= ?カートの中 ↓ ?会員・非会員分岐 ↓(会員登録せず購入する方へ) ?注文者情報入力 ↓ ?支払方法選択画面 ?→?にブラウザの「戻る」ボタンで戻ると、 ★Firefoxの場合 ------------------------------- 再送信の確認ダイアログは表示されず、?の画面に戻る。 再度フォームの「次へ」ボタンを押すと「不正なページ移動です」エラー。 ★IEの場合 ------------------------------------ 有効期限切れ画面は表示されず、?の画面に戻る。 再度フォームの「次へ」ボタンを押すと「不正なページ移動です」エラー。 --------- 特に【session.cache_limiter = nocache の場合】の方は、 EC-CUBEの構築事例に掲載されているいくつかのサイト様でも同じ状態でした。 唯一公式のPC用デモサイトだけはブラウザの「戻る」「進む」を乱用しても 「有効期限切れ」「不正なページ移動です」エラーともに発生しませんでした。 http://site.ec-cube.net/ デモサイトのほうでは、URLにtransactionidがついていないのですが、 こちらが何か関係あるのでしょうか・・・? |
ramrun |
投稿日時: 2009/7/9 20:02
対応状況: −−−
|
仙人 登録日: 2006/11/3 居住地: 投稿: 789 |
Re: ブラウザの「戻る」ボタンで「ページの有効期限切れ」が表示される等の問題 kuroさん
ごめんなさい。 環境は関係ないです。 ブラウザの「戻る」「進む」だけ試していて、戻ったら「更新」とかフォームの「次へ」は確認していませんでした(汗)。 結局のところプロキシとか以前に、キャッシュされたデータを利用するかぎり、transactionidを埋め込んだところは引っかかります。 デモサイトの http://site.ec-cube.net/ は1系なので、transactionid(画面遷移をチェック)がありません。 ないので当然、引っかかりません。 transcationidについては↓ ・Re: 共有SSLの問題を皆で解決しましょう!(というか本当に必要です;) で、結局どうすればいいのか... なんですが、私も考えがまとまっていません(汗)。 たとえば規約の次の会員登録画面で http://site.ec-cube.net/entry/index.php 個人情報を入力して「確認ページへ」へ。 そこで間違いに気づいてブラウザの「戻る」をすると入力欄は空になってしまいます。 これは現状、デモサイトがnocacheになっているからですが、ここでprivateやnoneにしてキャッシュが効くようにすると、そのtransactionidのチェックで「不正なページ移動」になります。 あちらを立てればこちらが立たず... で、なにか良い案があればと思うのですが、ちょっと手が止まってます。 追記:メモ書き 少しずつ確認を進めているのですが、下記のページはtransactionidの処理getToken()とisValidToken()が入ります。 このページはnocacheでなければなりません。
|
ramrun |
投稿日時: 2009/7/13 14:22
対応状況: −−−
|
仙人 登録日: 2006/11/3 居住地: 投稿: 789 |
Re: ブラウザの「戻る」ボタンで「ページの有効期限切れ」が表示される等の問題 自己レスです(汗)。
調べるほどに対応不能っぽい感じなので、とりあえずいまできそうなところで手を引こうと思います。 チケット #261 チェンジセット 18187 kuroさんご指摘の件は、対応できそうにありません(私には...)。 |
nanakoko |
投稿日時: 2009/9/17 16:55
対応状況: −−−
|
一人前 登録日: 2009/8/18 居住地: 投稿: 139 |
Re: ブラウザの「戻る」ボタンで「ページの有効期限切れ」が表示される等の問題 ramrun様
いつもお世話になってます。 戻るボタンでページの有効期限切れが出る、問題ですが、 当社のサイトでも、商品一覧ページの2ページ目以降で、 詳細ページから戻ろうとすると同様の現象が起こったので、 こちらのスレッドを見つけ、修正しました。 で、スレッド中の >チェンジセット 18143までやってしまっているなら、とりあえず >チェンジセット 18149の状態にしていただければと思います。 http://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=thread&topic_id=4139&forum=8&post_id=18758 まで修正したところ、サファリ4.0以外は全て正常に動作するようになったのですが、 サファリのみ(有効期限切れではなく)「フォームの再送信をして下さい」というメッセージが出ます。 なので、さらにramrunさんのチェンジセット18187の修正をしてみたのですが、 以下エラーメッセージが出て表示されなくなってしまったので、 Parse error: syntax error, unexpected ';', expecting T_FUNCTION in /home/ドメイン名/data/class/pages/LC_Page.php on line 355 一旦元に戻しました。 (私がどこかでミスってるんだと思います) そこで質問なんですが、サファリの「フォームの再送信」メッセージは18143、18149、18187等の修正をしたところで出なくなるものなのでしょおか? サファリの仕様とかなんですかね?? 手をひくとおっしゃっているのに、こんな質問してしまい 本当に恐縮なんですが、もし分かればご返事お願いいたします。 引用:
|
ramrun |
投稿日時: 2009/9/18 10:37
対応状況: −−−
|
仙人 登録日: 2006/11/3 居住地: 投稿: 789 |
Re: ブラウザの「戻る」ボタンで「ページの有効期限切れ」が表示される等の問題 ↓はLC_Page.phpの355行目、もしくはそこから数行上で誤字とか脱字があるものと思われます。
引用: Parse error: syntax error, unexpected ';', expecting T_FUNCTION in /home/ドメイン名/ecdata/class/pages/LC_Page.php on line 355 引用: そこで質問なんですが、サファリの「フォームの再送信」メッセージは18143、18149、18187等の修正をしたところで出なくなるものなのでしょおか? とりあえず自分の環境に18187をチェックアウトして、Safari 4.0.3で確認してみました。 [商品一覧]→[2ページ]→[3ページ]→[商品詳細]→[ブラウザの戻る] のような操作をしてみましたが、「フォームの再送信」は出ないようです。 説明しづらいんですが、コミュ版ではちょうどそのころ miningbrownieさんが商品一覧にて、ユーザが表示件数を変更できるようにするコミットがあり、それと私がいじっていたHTTPキャッシュのあたりで絡むところがあります。 ・7/9 18181 miningbrownieさん products/list.phpで表示件数を変えるコンボボックスを表示。mtb_product_list_products/list.phpで表示件数を変えるコンボボックスを表示。 ・7/13 18187 ramrun 設定修正 ・7/17 18195 ramrun 商品一覧のページ送りをGETに変更したことによる表示件数・順序の処理変更 ・7/19 18209 ramrun 表示件数まわりの不具合修正 ・8/3 18249 ramrun ページ送りをPOSTからGETに変更するにあたり、検索ブロックからの処理が抜けていた ・8/3 18250 ramrun エスケープしたのにpregの条件を直していなかった タイムライン的には http://svn.ec-cube.net/open_trac/timeline?from=2009%2F08%2F8&daysback=30&milestone=on&ticket=on&changeset=on&wiki=on&update=%E6%9B%B4%E6%96%B0 さらに現在のコミュ版はSeasoftさんの改修で完全なGET化により、コードが置き換わっています。 |
nanakoko |
投稿日時: 2009/9/18 12:32
対応状況: −−−
|
一人前 登録日: 2009/8/18 居住地: 投稿: 139 |
Re: ブラウザの「戻る」ボタンで「ページの有効期限切れ」が表示される等の問題 ramrun様
いつもお世話になっております。 以下の件、検証して下さってありがとうございますm(_ _)m そおですか、18187の修正を加えなくてもサファリでは正常に見れるんですね・・・。 もう一回修正した箇所を見直してみますね。 引用:
以下、詳細誠にありがとうございます。 まだじっくり読んでいないので、これからちゃんと読んで修正加えてみようと思います! 引用:
|
nanakoko |
投稿日時: 2009/9/22 21:46
対応状況: −−−
|
一人前 登録日: 2009/8/18 居住地: 投稿: 139 |
Re: ブラウザの「戻る」ボタンで「ページの有効期限切れ」が表示される等の問題 ramrun様
チェックアウトという言葉を知らず返信してしまいましたが、 チェックアウトってDLという事なんですね・・・。 恥ずい・・・。(><) ところで、どうやってもsafariでフォームの再送信のメッセージが出るので、 昨日コミュニティ版2.4.0をインストールし直しました。 そしたらコミュ版はコミュ版で 各所で不具合が・・・。 インストールして何もしていない状態で、 ポイントの設定は0%だったのですが、 テスト的に商品を購入したらポイントが付与されておりました。 あと住所の郵便番号を入れて自動入力を押しても、 該当する住所がありません、という表示がでたり・・・。 商品を50件以上登録しているのに、カテゴリの表示は1だったり・・・。 発送済み後、ポイントが付与される仕様だと思いますが、 一旦ログアウトしなければ、 お客さまのページにポイントが反映されない、 などなど、すでに修正が終わっているはずの内容のエラーが起こっております。 コミュ版でもいろいろ修正を加えていかなければいけないという事なのでしょうか?? |
« 1 2 (3) 4 » |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |