2020年 2月に予定されている Google Chrome 80 リリースの Zencart への影響について

20. 02. 01
最終更新日:21 2月 2020

2020年 2月17日(アメリカ時間)から順次適用が開始される予定の Chrome 80 リリースにおいて、Cookie のデフォルトのクロスドメイン (SameSite) 動作に対する変更が発生します。

この変更はセキュリティとプライバシーが強化を目的としたものですが、リンク方式を使い「支払いサイトに移動してカード等での手続きを終えてからZencart に戻ってきて注文完了」という方式や、ゲートウェイ方式であっても 3Dセキュアを使うことで、visa や master の認証画面に画面遷移が発生するタイプの場合、正常に処理が終了しないケースが発生することが懸念されています。

端的に言えば、「一度、Zencart から別のサイトに移動して帰ってきたら、強制的にログアウトしていたり、カートが空になっている」「決済を終わらせてサイトに戻ったらログオフしていて、注文できていない」という状況になる・・という問題が発生します。

Zencart のバージョンやPHPのバージョンにより、対応方法が様々であるため、一概に「こうすればよい」という回答をお出しすることはできません。

※ zen-cart.com でも正式な対応方針は示されていません。(2020-02-17現在)

弊社(ビッグマウス)による対応・相談をご希望の方はこちら>>


2020年2月4日、GoogleはWebブラウザのChrome 80アップデートを開始しました。この更新では、サードパーティのCookieに新しい制限と制限を設けることにより、Chromeブラウザーでユーザーのセキュリティとプライバシー保護を改善することに焦点を当てたものですが、ほとんどのECサイトでは必須となる Cookie という仕組みの扱いに対する大きな変更を意味しています。
Chromeは、サードパーティcookieのサポートを打ち切ることを計画しており、今後サードパーティのCookieを有効にし、Chrome 80アップデートに準拠させるためのシステムに対する改変が必要になります。
ある調査によると、2020年1月時点での日本国内でのブラウザの利用割合では、chrome が全体の43%近くをしめており、世界的にみるとさらに割合は高く58%近くに達しています。
単に一つのブラウザだけの問題と割り切れるものではなく・・・当然、ほかのブラウザ群も同様の方向に進む可能性も高いでしょう。

 

そもそも Cookieとはなんですか?またサードパーティのCookieとは何ですか?

Cookieは、ブラウザによりユーザーのコンピューターに保存される小さなファイルです。これらは、サイトとユーザーに関する固有の情報を一時的に保持するように設計されており、Webサーバーまたはクライアントコンピューターからアクセスできます。
これにより、サーバーは複数の人が同時にアクセスしていても「次のページに進む」ことや「ショッピングカートに物を入れる」ような特定のユーザーに合わせた処理ができます。

Zencartを含むほとんどのECサイトでは、このCookieを使って商品をカートに入れたり、ログイン状態を管理するなどの様々な情報を保持し、処理しています。

今回のChromeのバージョンアップでは、このCookieの処理方法が変更されるというのです。

ファーストパーティのCookieは独自のドメインに属します。現在ブラウザで表示しているページ(アドレスバーに表示しているURL)のドメイン名に紐づけられてるクッキーが、ファーストパーティCookieです。
サードパーティのCookieとは別のドメイン名に紐づいた Cookie です。

Cookieは、E-コマースのユーザーに対して、シームレスでユーザーフレンドリーな利用環境を提供する上で重要な役割を果たします。
ただし、サードパーティのCookieを使用すると、サイトが脆弱性やサイバー攻撃にさらされる可能性があります。そのため、Google Chromeやその他のブラウザーは、Cookieポリシーを更新して、セキュリティとユーザーのプライバシー機能の改善を進めており、今回の chrome 80以降の変更はその中での大きな変換点となっています。

弊社(ビッグマウス)による、Zencartへの対応について

今後Google Chromeブラウザーはデフォルトでは、額面どおりにサードパーティのCookieを信頼しなくなります。
不適切なラベルが付けられたCookieはサイトで使用できないため、EコマースWebサイトを正常に実行し続けるには、Cookie設定の更新をできるだけ早く行う必要があります。
Zencartに対する拡張機能やモジュールがCookie を独自利用するものである場合、すべての Cookie に対して適正な属性設定が行われているようにする必要があります。

主な変更点としては、「Zencart サイト側で Cookie に対してSameSite属性を付与する」という対応方針になります。

Cookieの扱い方はモジュールレベルの話ではなく、Zencartを含むECシステムの根幹的な部分であるため、慎重に対応を進めたいと考えております。
基本的には zen-cart.com による正式な対応方針に準じる方式にいたします。


とはいえ、それまで待てないという方からの相談も多数寄せられるようになっておりますので、ご希望に応じて個別対応できるように準備しております。

対応には、PHPのバージョンとZencart のバージョンが最低限必要になりますので、これらの情報をご確認の上でお問合せいただけますようお願いします。

 

電話でのご相談:084-999-6181 (平日9:00~18:00)  お問合せフォームはこちら>>



追記:

今回の変更により、深刻な影響が出ると考えているのは「リンク方式でのカード等決済サービスの利用時」ならびに、サイト内でカード番号を入力するタイプのクレジットカード決済でも「3Dセキュア利用時」で、共にいったん別のサイトにリダイレクトしてから帰ってくるフローで注文が生成されないというケースでしょう。逆に言えば、それ以外の決済方式の場合には問題にはならない思われます。

弊社が提供している「リンク接続方式」は特別なご依頼による追加カスタマイズがない限りは「注文完了後に決済画面い遷移し、決済結果はサーバー間通信で取得する方式」をとっておりますので、この方式でのご利用については問題はございません。
ただし、3Dセキュアについては、対応が必要となる場合がございますので、、、

  1. 支払いモジュールの設定で「3Dセキュアの利用」をオフにしてご利用いただく
  2. 「Chrome では 3Dセキュア対応カードが利用できない」旨のメッセージを表示する
  3. UAによるブラウザ判定で「Chrome では 3Dセキュアを利用しない」用に支払いモジュールを変更(非推奨)
  4. 常に Cookie に "SameSite" 属性を付与し、非対応ブラウザでは「お使いのブラウザではご利用いただけません」のメッセージを表示する
  5. ブラウザ判定機能を付けて、指定したブラウザに対してのみ "SameSite"属性を付与するようにカスタマイズする(※推奨)

・・・など、実際の運用環境とご希望内容に沿って対応を提案させていただきます。


Chrome 80の仕様変更と対策