Ticket #261 (closed バグ指摘: 修正済)

Opened 12 years ago

Last modified 9 years ago

LC_Page::allowClientCache()が無効に

Reported by: Yammy Owned by: somebody
Priority: Milestone: EC-CUBE2.11.1
Component: その他 Version: コミュニティ (eccube-comu)
Keywords: Cc:
修正済み:

Description

キャッシュを許可するページのクラスでLC_Page::allowClientCache() を呼び出すが、呼び出す前に既にhtml/require.php で session_start() が行われているためにLC_Page::allowClientCache() での、session_cache_limiter('private-no-expire'); が無効になっている。

そのため、商品一覧ページなどで、価格順、新着順、価格順と表示させ、 ブラウザの戻るボタンを押すなどすると、キャッシュ有効期限切れが 表示される。

Change History

comment:1 Changed 12 years ago by adachi

  • Owner changed from somebody to adachi

comment:2 Changed 12 years ago by Yammy

  • Reporter changed from adachi to Yammy

comment:3 Changed 12 years ago by adachi

  • Milestone changed from EC-CUBE to EC-CUBE2.3.0

comment:4 Changed 12 years ago by nakanishi

  • Milestone changed from EC-CUBE2.3.0 to EC-CUBE2.3.1

セッション周りの改修が必要。
かなりの工数を要すると推測される。
再現性が低い。

comment:5 Changed 12 years ago by takegami

  • Milestone changed from EC-CUBE2.3.1 to EC-CUBE2.x.x

comment:6 Changed 11 years ago by Seasoft

  • Owner changed from adachi to Seasoft
  • Version changed from 2.1.1(ベータ版) to コミュニティ (eccube-comu)
  • Milestone EC-CUBE2.x.x deleted

放置されているようですので、コミュニティにて先行対応を試みます。

comment:7 Changed 11 years ago by Seasoft

  • Owner changed from Seasoft to somebody
  • Version changed from コミュニティ (eccube-comu) to 2.4.0
  • Milestone set to EC-CUBE2.4.1

コミュニティでは r18132 にて対応しました。 担当を降ります。

なお、正式版 2.4.0 でも発現を確認しました。

comment:8 Changed 11 years ago by ramrun

r18143にて、session_cache_limiter('private_no_expire')と同等のヘッダーに上書きするようにしました。

comment:9 Changed 11 years ago by kajiwara

  • Milestone changed from EC-CUBE2.4.1 to EC-CUBE2.4.2

参照URL
 http://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=flat&topic_id=4139&forum=8

session_cache_limiter の修正により、その他の部分に影響がでてきるよう思われます。

対応の検討など含めて、大変申し訳ございませんが、マイルストーンを2.4.2に変更させていただきたいと思います。

comment:10 follow-up: ↓ 11 Changed 11 years ago by ramrun

r18187 で一旦、手を引きます。

transactionidの処理とブラウザの「戻る」「進む」の両立ができませんでした。

現在はsession.cache_limiter noneをベースにし、transactionidを利用するページと、個人情報を表示するページをnocacheにしています。 また、商品一覧のページ送りをPOSTからGETへ、 同じくMYページの購入履歴一覧の詳細をPOSTからGETへ変更しました。

カートから非会員の注文完了まではtransactionidの絡みで対応していません。

comment:11 in reply to: ↑ 10 Changed 11 years ago by nanasess

ramrun への返信

transactionidの処理とブラウザの「戻る」「進む」の両立ができませんでした。

transactionid は, ブラウザの「戻る」や「進む」の使用による不正遷移を防ぐものですので, 両立しなくて良いと思います.

comment:12 Changed 11 years ago by kajiwara

  • Milestone changed from EC-CUBE2.4.3 to EC-CUBE2.4.4

comment:13 Changed 10 years ago by nanasess

2.4.x での根本解決が難しそうですので、 milestone:EC-CUBE2.5.0 へ変更します

comment:14 Changed 10 years ago by nanasess

  • Milestone changed from EC-CUBE2.4.4 to EC-CUBE2.5.0

comment:15 Changed 10 years ago by Seasoft

  • Version changed from 2.4.0 to コミュニティ (eccube-comu)

comment:16 Changed 10 years ago by Seasoft

コミュニティ関連チェンジセット (上記未記録分)

comment:17 Changed 10 years ago by nanasess

  • Milestone changed from EC-CUBE2.5.0beta to EC-CUBE2.5.1(仮)

comment:18 Changed 9 years ago by kotani

  • Status changed from new to closed
  • Resolution set to 修正済
Note: See TracTickets for help on using tickets.