何が起こったのか?#
最近リリースされた Chrome 113 と 114 の 2 つのバージョンで、Cookie に関する 2 つの変更がありました:
Chrome 113:ファーストパーティーセット(First-Party Sets)が安定版に追加されました。
Chrome 114:Cookie の独立分割(CHIPS)がデフォルトですべてのブラウザで有効になりました。
これらの変更は、今後のサードパーティ Cookie の廃止に対応するために Cookie のアクセス方法に対して行われました。Chrome は 2 年前からサードパーティ Cookie の完全な廃止を計画しており、この変更は現在のウェブサイトに大きな影響を与える可能性があるため、直接廃止すると多くのウェブサイトの正常な機能が正常に動作しなくなる可能性があります。
Chrome は 2024 年第 3 四半期にサードパーティ Cookie を完全に無効にする予定です。
以下の内容は Google Developers のプライバシーサンドボックスの記事から引用されています。
1% のサードパーティ Cookie と Chrome のテストの廃止#
privacysandbox.com のスケジュールには、2023 年第 4 四半期と 2024 年第 1 四半期の 2 つのマイルストーンがあります。これは Chrome のテストモードの一部です。このテストは、Privacy Sandbox の関連 API のテストを行う組織を対象としていますが、このプロセスでは、1% の Chrome の安定版ユーザーに対してサードパーティ Cookie を無効にしました。
サードパーティ Cookie の廃止スケジュール。Chrome のテストの一環として、「テストを有効にするためのタグモードの選択」は 2023 年第 4 四半期から開始し、2024 年 1 月 4 日からは 1% の 3PC 制限に対して開始されます。両方とも 2024 年第 3 四半期の中頃まで続けられ、サードパーティ Cookie の段階的な廃止が開始されます。
これはつまり、2024 年初めから、Chrome のテストに積極的に参加していなくても、サードパーティ Cookie が無効になるため、より多くの Chrome ユーザーがウェブサイトにアクセスすることになるということです。このテスト期間は 2024 年第 3 四半期まで続きます。CMA との協議の後、競争に関連する懸念を解決するために、私たちはすべての Chrome ユーザーに対してサードパーティ Cookie を無効にする計画を立てています。
これまでの説明で、サードパーティ Cookie とは何ですか?#
他のウェブサイトのコンテキスト(例:iframe やサブリソースリクエスト)で送信される Cookie は通常、サードパーティ Cookie と呼ばれます。
この変更はどのような影響を与えますか?#
2019 年、ブラウザは Cookie の動作を変更し、Cookie をデフォルトでファーストパーティアクセスに制限しました。現在、クロスサイトコンテキストで使用されている Cookie は、SameSite=None 属性を使用して設定する必要があります。しかし、サードパーティ Cookie が無効になった場合、SameSite=None が設定されていても、その Cookie はサードパーティによって読み取られることはありません。
例えば、現在私たちは TikTok で動画を見ていますが、TikTok ではしばしばサードパーティ広告主のリクエストが多くロードされます。これらのサードパーティ広告主はサードパーティ Cookie を使用してユーザーの行動を記録することができます。次に、淘宝を訪れると、この広告主が再びロードされる可能性があります。なぜなら、この時点でサードパーティ広告主はサードパーティ Cookie を使用して、ユーザーの多くの行動を記録しているため、ユーザーが何を好むかを既に知っているからです。その結果、ユーザーは精度の高い広告を受け取ることになり、あなたのプライバシーが漏洩してしまいます。
海外では、ユーザーのプライバシーは非常に重要な問題ですので、Safari や Firefox などの主要なブラウザはサードパーティ Cookie を無効にしています。つまり、これらのブラウザで www.douyin.com を訪れる場合、bytedance.com のドメインに対するリクエストには Cookie が設定されません。
サードパーティ Cookie が無効になると、異なるドメインの同じ会社で Cookie を共有するという通常の要件も使用できなくなります。これは、通常のビジネスニーズに大きな影響を与える可能性があります。一般的なシナリオの 1 つは、シングルサインオンです。通常、1 つの会社の異なるウェブサイトにログインする際には、1 回のログインだけで済みます。これは、ユーザーの個人情報が共有される公共のログインサービスの Cookie に保存されているためです。サードパーティ Cookie が無効になると、ログイン情報も共有できなくなります。以下では、これらの 2 つの問題をどのように解決するかを見ていきます。
問題の解決策#
Google は 4 つの解決策を提供しています:
今日は私の bilibili フォーラムの HD 埋め込みを例に説明します。最初の方法を使用します。他の方法については、https://developers.google.com/privacy-sandbox/3pcd?hl=zh-cn を参照してください。
これはすでにプラグインで解決されている問題ですが、私は bilibili の制御権を持っていないため(当然ですが)、次の状況では、サードパーティウェブサイトの Cookie を制御する能力が少なくとも必要です(プラグインを作成するか、ほとんどの場合には使用できないが、Cookie の属性を変更するために彼らに連絡する能力がある場合)。
以前のプラグインコードは次のようになっていました:
let newCookie = {
url: `https://bilibili.com`,
name: cookie.name,
value: cookie.value,
domain: 'bilibili.com',
path: cookie.path,
secure: true,
httpOnly: cookie.httpOnly,
sameSite: "no_restriction",
expirationDate: cookie.expirationDate
};
このコードは現在の状況でも機能します。なぜなら、私はこれらの Cookie の SameSite 値を None に変更したからです。以下はその効果です:
しかし!!!
サードパーティ Cookie が無効になると、この属性はデータを読み取ることができません。Chrome の記事では、テスト方法も提供されています:
Chrome でのサードパーティ Cookie の段階的な廃止の 1% テストと磨きの段階をサポートするために、いくつかの Chrome フラグが提供されています。
Chrome 121 以降では、次のようにしてサードパーティ Cookie が段階的に廃止された後の状態をシミュレートできます:
chrome://flags/#test-third-party-cookie-phaseout
を有効にする--test-third-party-cookie-phaseout
フラグを使用して Chrome をコマンドラインで実行する
これにより、Chrome がサードパーティ Cookie をブロックし、新機能と緩和策が有効になることが保証されます。
設定後:
i1.yuereqb.cn では Cookie を読み取ることができませんが、Twilight Block Forum Embed では読み取ることができます。現在のブラウザがこの状況を考慮していない可能性があると考えられます。
現在の方法は、これでしかできません。将来の Chrome の更新を待たなければならないか、拡張機能にこの権限があるかどうかを見る必要があります。もし権限がなければ、このプロジェクトは終了するしかありません。
他のサービスへの提案#
できるだけサードパーティ Cookie を使用しないようにしましょう。Cookie はただのデータの受け渡し方法に過ぎませんので、他の方法を使用するようにしましょう。Cookie を読み取る必要がある場合は、その Cookie がサードパーティによって読み取られる必要があるかどうかを考慮し、その他のサードパーティウェブサイトの状況を考慮する必要があります。
現在できることは、未来の道が少しでも困難でないことを祈ることだけです...
以上です。次回の更新をお楽しみに!