SameSite Cookie 対応
概要
- 2020年2月にリリースされた Chrome 80 より、他サイトからEC-CUBEで構築されたサイトに遷移する場合に、条件によってはEC-CUBEのCookieが送信されなくなり、決済が完了しない等の現象が発生します。この問題に対応するために以下のHot-fixパッチを適用して頂く必要があります。
関連情報
- Google Developers Japan: 新しい Cookie 設定 SameSite=None; Secure の準備を始めましょう
- SameSite Updates - The Chromium Projects
- Chrome80のSameSiteの影響で3Dセキュア等を利用する場合に購入に失敗する #4457
Hot-fixパッチ
注意事項
- SSL未対応のサイトではこのパッチを適用すると正しく動作しなくなります。SSL未対応のサイトはSSLに対応後、このパッチを適用してください。
- ローカル開発環境ではこのパッチを適用しないことをおすすめします。適用する場合はローカル環境でもSSLに対応させる必要があります。
- 今後、SameSite Cookieの設定を環境変数等で設定できるように検討していきます。詳しくは、こちらのIssue #4457 を参照ください。
修正内容
このパッチにより以下の修正が適用されます。
- 他サイトからPOSTされたときにもセッションキーを保持したCookieが送信されるように セッションキーのCookieに
SammeSite=None
を設定する。 -
SammeSite=None
を設定したCookieを正しく扱えない一部のブラウザーでは決済を利用できないため、以下のようなバージョンアップ促すエラー画面を表示する。
適用方法
app/config/eccube/packages/framework.yaml
に以下の変更を適用する- 以下の2ファイルを配置する
- 以下のいずれかの方法でキャッシュをクリアする
- コマンドからキャッシュをクリアする
$ bin/console cache:clear --no-warmup
- 管理画面の「コンテンツ管理」-「キャッシュ管理」画面にて「キャッシュ削除」を実行する
- コマンドからキャッシュをクリアする
ページを共有する
Twitter Facebook■質問、書いてほしい情報など、気軽にコメントしてみましょう!
コメント例:
「手順通りやったけど、◯◯の部分でうまくいかない」
「◯◯の部分について、もう少し手順を詳細に記載してよ」
「最初から、こういう情報があればわかりやすかった」
コメントする