ملفات تعريف الارتباط التي لديها حالة منفصلة (CHIPS)

السماح لمطوّري البرامج بتفعيل ملفات تعريف الارتباط في "مقسم" تخزين، مع وعاء منفصل لملفات تعريف الارتباط لكل موقع إلكتروني من المستوى الأعلى.

حالة التنفيذ

دعم المتصفح

  • 114
  • 114
  • x
  • x

المصدر

ما هي ملفات تعريف الارتباط في الحالة المقسَّمة المنفصلة (CHIPS)؟

إنّ ملفات تعريف الارتباط ذات الحالة المقسَّمة المستقلة (CHIPS) تتيح للمطوّرين اختيار ملف تعريف الارتباط في مساحة تخزين مقسَّمة، مع استخدام حافظات ملفات تعريف ارتباط منفصلة لكل موقع إلكتروني من المستوى الأعلى، ما يحسّن خصوصية المستخدم وأمانه.

وبدون تقسيم، يمكن لملفات تعريف الارتباط التابعة لجهات خارجية تفعيل الخدمات من أجل تتبُّع المستخدمين ودمج معلوماتهم من العديد من المواقع الإلكترونية ذات المستوى الأعلى التي لا صلة لها بالموقع الإلكتروني. يُعرف ذلك باسم التتبُّع في جميع المواقع الإلكترونية.

وبدأت المتصفّحات في العمل على الإيقاف التدريجي لملفات تعريف الارتباط التابعة لجهات خارجية غير المقسَّمة، لذا ستكون CHIPS وStorage Access API وRelated Website Sets هي الطريقة الوحيدة لقراءة ملفات تعريف الارتباط وكتابتها من سياقات مواقع إلكترونية متعددة، مثل إطارات iframe، عند حظر ملفات تعريف الارتباط التابعة لجهات خارجية.

مخطّط يوضّح كيفية مشاركة الطهاة بين موقعَين إلكترونيَين مختلفَين.
بدون تقسيم ملفات تعريف الارتباط، يمكن لخدمة تابعة لجهة خارجية ضبط ملف تعريف ارتباط عند تضمينه في موقع إلكتروني واحد من المستوى الأعلى والوصول إلى ملف تعريف الارتباط نفسه عندما تكون الخدمة مضمّنة في مواقع إلكترونية أخرى عالية المستوى.

تقدّم ملفات تعريف الارتباط في ملفات تعريف الارتباط (CHIPS) سمة جديدة لملفات تعريف الارتباط، Partitioned، لإتاحة ملفات تعريف الارتباط على مواقع إلكترونية متعددة والتي يتم تقسيمها حسب سياق المستوى الأعلى.

عنوان Set-Cookie:

Set-Cookie: __Host-name=value; Secure; Path=/; SameSite=None; Partitioned;

JavaScript:

document.cookie="__Host-name=value; Secure; Path=/; SameSite=None; Partitioned;"

ويرتبط ملف تعريف الارتباط المُقسَّم التابع لجهة خارجية بموقع إلكتروني من المستوى الأعلى تم ضبطه في البداية ولا يمكن الوصول إليه من أي مكان آخر. وبهذه الطريقة، لا يمكن قراءة ملفات تعريف الارتباط التي تم ضبطها بواسطة خدمة تابعة لجهة خارجية إلا ضمن السياق المضمَّن نفسه للموقع الإلكتروني ذي المستوى الأعلى حيث تم ضبطها في البداية.

مخطّط بياني يوضّح أنّ موقعَين مختلفَين على الويب يضمّان جهة خارجية مشتركة لن يشاركا بعد الآن ملفات تعريف الارتباط لتلك الجهة الخارجية.
من خلال تقسيم ملفات تعريف الارتباط، لا يمكن للخدمة التابعة لجهة خارجية، التي تضبط ملف تعريف ارتباط عند تضمينه في موقع إلكتروني من المستوى الأعلى، الوصول إلى ملف تعريف الارتباط نفسه عندما تكون الخدمة مُضمّنة في مواقع إلكترونية أخرى عالية المستوى.

عند استخدام ملفات تعريف الارتباط المقسَّمة، عندما يزور المستخدم الموقع "أ" ويضبط المحتوى المضمّن من الموقع "ج" ملف تعريف ارتباط باستخدام السمة المقسَّمة، يتم حفظ ملف تعريف الارتباط في وعاء مقسّم مخصّص فقط لملفات تعريف الارتباط التي يضبطها الموقع الإلكتروني "ج" عندما يكون مضمّنًا في الموقع الإلكتروني "أ". ولن يرسل المتصفح ملف تعريف الارتباط هذا إلا عندما يكون الموقع الإلكتروني ذي المستوى الأعلى هو A.

وعندما يزور المستخدم موقعًا إلكترونيًا جديدًا، مثل الموقع "ب"، لن يتلقى إطار C المضمّن ملف تعريف الارتباط الذي تم إعداده عند تضمين C في الموقع "أ".

في حال زار أحد المستخدمين الموقع الإلكتروني "ج" كموقع إلكتروني من المستوى الأعلى، لن يتم أيضًا إرسال ملف تعريف الارتباط المقسّم الذي عيّنه "ج" عند تضمينه في النموذج "أ".

مخطّط بياني يوضّح عدم مشاركة ملفات تعريف الارتباط عندما يكون الطرف الثالث نفسه مضمّنًا في موقعَين إلكترونيَين مختلفَين
من خلال تقسيم ملفات تعريف الارتباط، لا يمكن للخدمة التابعة لجهة خارجية التي تضبط ملف تعريف ارتباط عند تضمينه في موقع إلكتروني الوصول إلى ملف تعريف الارتباط نفسه حتى عندما يزور المستخدمون الخدمة كموقع إلكتروني من المستوى الأعلى.

حالات الاستخدام

على سبيل المثال، قد يحتاج الموقع الإلكتروني retail.example إلى العمل مع خدمة تابعة لجهة خارجية من أجل تضمين مربّع محادثة الدعم على موقعه الإلكتروني.support.chat.example يعتمد العديد من خدمات المحادثة القابلة للتضمين حاليًا على ملفات تعريف الارتباط لحفظ الحالة.

مخطّط بياني يعرض موقعًا إلكترونيًا به تطبيق مصغّر للمحادثات
موقع Retail.example ذو المستوى الأعلى بتضمين خدمة تابعة لجهة خارجية support.chat.example

في حال عدم القدرة على ضبط ملف تعريف ارتباط على مواقع إلكترونية متعددة، سيكون على support.chat.example إيجاد طرق بديلة تكون أكثر تعقيدًا لتخزين حالة ملف تعريف الارتباط على مواقع إلكترونية متعددة. بدلاً من ذلك، يجب تضمينه في صفحة المستوى الأعلى التي تنطوي على مخاطر، لأنّه يتيح للنص البرمجي support.chat.example الحصول على أذونات مميزة وعالية المستوى على Retail.example، مثل إمكانية الوصول إلى ملفات تعريف ارتباط المصادقة.

يوفّر ملف CHIPS خيارًا أسهل لمواصلة استخدام ملفات تعريف الارتباط على مواقع إلكترونية متعددة، بدون المخاطر المرتبطة بملفات تعريف الارتباط غير المقسَّمة.

تشمل الأمثلة على حالات استخدام ملفات تعريف الارتباط في الحالة المقسَّمة المنفصلة (CHIPS) أي سيناريوهات تتطلب فيها الموارد الفرعية من مواقع إلكترونية متعددة مفهومًا للجلسة أو الحالة المستمرة المرتبطة بنشاط المستخدم على موقع إلكتروني واحد من المستوى الأعلى، مثل:

  • تضمينات المحادثة التابعة لجهات خارجية
  • عمليات تضمين خريطة تابعة لجهة خارجية
  • تضمينات الدفع من جهات خارجية
  • موازنة حمل شبكة توصيل المحتوى (CDN) للمورد الفرعي
  • مزوّدو نظام إدارة المحتوى بلا واجهة مستخدم رسومية
  • نطاقات وضع الحماية لعرض محتوى مستخدم غير موثوق به (مثل googleusercontent.com وgithubusercontent.com)
  • شبكات توصيل محتوى (CDN) تابعة لجهة خارجية تستخدم ملفات تعريف الارتباط لعرض محتوى يتم التحكّم في الوصول إليه من خلال حالة المصادقة على موقع الويب الخاص بالطرف الأول (مثل صور الملفات الشخصية على مواقع التواصل الاجتماعي المستضافة على شبكات توصيل محتوى (CDN) تابعة لجهة خارجية)
  • أُطر الواجهة الأمامية التي تعتمد على واجهات برمجة التطبيقات (API) عن بُعد التي تستخدم ملفات تعريف الارتباط في طلباتها
  • الإعلانات المضمّنة التي تحتاج إلى نطاق الولاية لكل ناشر (على سبيل المثال، تسجيل الإعدادات المفضّلة للإعلانات للمستخدمين في هذا الموقع الإلكتروني)

سبب استخدام ملفات تعريف الارتباط في الحالة المقسَّمة المنفصلة (CHIPS) نموذج تقسيم الموافقة

بما أنّ المتصفّحات تعمل على إيقاف ملفات تعريف الارتباط التابعة لجهات خارجية غير المقسَّمة، تمت محاولة اتّباع أسلوبَين آخرَين للتقسيم.

أعلن فريق Firefox عن أنّه يقسّم جميع ملفات تعريف الارتباط التابعة لجهات خارجية تلقائيًا في وضع ETP المقيّد ووضع التصفّح الخاص، لذلك يتم تقسيم كل ملفات تعريف الارتباط على مواقع إلكترونية متعددة حسب الموقع الإلكتروني ذي المستوى الأعلى. مع ذلك، قد يؤدي تقسيم ملفات تعريف الارتباط بدون موافقة جهة خارجية إلى حدوث أخطاء غير متوقعة، نظرًا لأن بعض الخدمات التابعة لجهات خارجية أنشأت خوادم تتوقع ملفات تعريف ارتباط غير مقسَّمة من جهة خارجية.

حاول متصفّح Safari سابقًا تقسيم ملفات تعريف الارتباط استنادًا إلى إشارات إرشادية، لكنّها اختارت في النهاية حظرها تمامًا، مشيرةً إلى أنّ السبب هو التباس لدى المطوّرين. أعرب متصفّح Safari مؤخرًا عن اهتمامه بنموذج مستند إلى موافقة المستخدمين.

ما يميّز ملفات CHIPS عن التطبيقات الحالية لملفات تعريف الارتباط المقسَّمة هو الموافقة من جهة خارجية. ويجب ضبط ملفات تعريف الارتباط باستخدام سمة جديدة ليتم إرسالها في الطلبات الواردة من جهات خارجية بعد أن تصبح ملفات تعريف الارتباط التابعة لجهات خارجية (غير المقسَّمة) صالحة.

ومع أنّ ملفات تعريف الارتباط التابعة لجهات خارجية لا تزال متوفرة، تتيح السمة Partitioned الموافقة على نوع أكثر تقييدًا من ملفات تعريف الارتباط وأكثر أمانًا. إنّ ملفات تعريف الارتباط في الحالة المقسَّمة المنفصلة (CHIPS) هي خطوة مهمة تساعد الخدمات على الانتقال السلس إلى المستقبل بدون استخدام ملفات تعريف الارتباط التابعة لجهة خارجية.

ففي الوقت الحالي، يتم إدخال ملفات تعريف الارتباط على اسم المضيف أو نطاق الموقع الإلكتروني الذي يضبطها، وهو مفتاح المضيف.

على سبيل المثال، بالنسبة إلى ملفات تعريف الارتباط الواردة من https://support.chat.example، يكون مفتاح المضيف هو ("support.chat.example").

بموجب ملفات تعريف الارتباط في ملفات تعريف الارتباط CHIPS، سيتم ربط ملفات تعريف الارتباط التي تم تفعيل التقسيم بها بشكل مزدوج على مفتاح المضيف ومفتاح التقسيم الخاصين بها.

مفتاح تقسيم ملف تعريف الارتباط هو الموقع الإلكتروني (النطاق والنطاق القابل للتسجيل) لعنوان URL للمستوى الأعلى الذي كان المتصفّح يزوره في بداية الطلب إلى نقطة النهاية التي ضبطت ملف تعريف الارتباط.

في المثال السابق، حيث تم تضمين https://support.chat.example في https://retail.example، يكون عنوان URL للمستوى الأعلى هو https://retail.example.

في هذه الحالة، سيكون مفتاح التقسيم هو ("https", "retail.example").

وبالمثل، مفتاح تقسيم الطلب هو الموقع الإلكتروني لعنوان URL من المستوى الأعلى الذي يزوره المتصفّح في بداية الطلب. يجب أن ترسل المتصفّحات فقط ملف تعريف ارتباط يتضمّن السمة Partitioned في الطلبات التي تستخدم مفتاح القسم نفسه الخاص بملف تعريف الارتباط هذا.

وفي ما يلي الشكل الذي يبدو عليه مفتاح ملف تعريف الارتباط في المثال السابق قبل ملف CHIPS وبعده.

يتشارك الموقع الإلكتروني "أ" والموقع الإلكتروني "ج" المضمّن في ملف تعريف ارتباط مقسّم. وعند عدم تضمينه، لا يمكن للموقع الإلكتروني "ج" الوصول إلى ملف تعريف الارتباط المقسّم.
يشترك الموقع الإلكتروني "أ" والموقع الإلكتروني المضمَّن "ج" في ملف تعريف ارتباط مقسّم. وعند عدم تضمينه، لا يمكن للموقع الإلكتروني "ج" الوصول إلى ملف تعريف الارتباط المقسّم.

قبل ملفات تعريف الارتباط في الحالة المقسَّمة المنفصلة (CHIPS)

key=("support.chat.example")

بعد ملفات تعريف الارتباط في الحالة المقسَّمة المنفصلة (CHIPS)

key={("support.chat.example"),("https", "retail.example")}

تصميم الأمان

لتشجيع الممارسات الأمنية الجيدة، لا يتم ضبط ملفات تعريف الارتباط إلا بواسطة بروتوكولات آمنة وإرسالها عبر بروتوكولات الأمان، وذلك باستخدام ملفات تعريف الارتباط CHIPS.

  • يجب ضبط ملفات تعريف الارتباط المقسَّمة باستخدام Secure.
  • يُنصح باستخدام البادئة __Host- عند ضبط ملفات تعريف الارتباط المقسّمة لجعلها مرتبطة باسم المضيف (وليس بالنطاق القابل للتسجيل).

مثال:

Set-Cookie: __Host-example=34d8g; SameSite=None; Secure; Path=/; Partitioned;

بدائل ملفات تعريف الارتباط في الحالة المقسَّمة المنفصلة (CHIPS)

إنّ Storage Access API ومجموعات المواقع الإلكترونية ذات الصلة (RWS) المرتبطة بها هي آليات على الويب تتيح الوصول المحدود إلى ملفات تعريف الارتباط على مواقع إلكترونية متعددة لأغراض محدّدة موجّهة للمستخدمين.

هذه هي بدائل لتقسيم ملفات تعريف الارتباط في الحالة المقسَّمة المنفصلة (CHIPS) والتي تتطلّب الوصول إلى طهاة غير مقسّمين على عدة مواقع.

ننصحك باستخدام واجهة برمجة التطبيقات Storage Access ومجموعات المواقع الإلكترونية المرتبطة في الحالات التي تحتاج فيها إلى ملف تعريف الارتباط نفسه ليكون متاحًا لخدمة مُضمّنة في عدة مواقع إلكترونية ذات صلة.

يوفّر ملف تعريف الارتباط CHIPS إمكانية العمل كمكون معزول على عدة مواقع إلكترونية، حيث لا يلزم توفّر ملف تعريف الارتباط نفسه في عدة مواقع إلكترونية. إذا ضبطت الخدمة ملف تعريف ارتباط مقسّمًا، سيكون مفتاح التقسيم الخاص بها هو موقع المستوى الأعلى، ولن يكون ملف تعريف الارتباط هذا متاحًا للمواقع الإلكترونية الأخرى التي تستخدم الخدمة أيضًا.

يعتمد تصميم ميزة Related Website Sets على واجهة برمجة التطبيقات Storage Access API، ولا يتكامل مع تقسيم ملفات CHIPS. إذا كانت لديك حالة استخدام تعتمد على تقسيم مشترك لملفات تعريف الارتباط على مستوى المواقع الإلكترونية ضِمن RWS، يمكنك تقديم أمثلة وملاحظات حول مشكلة GitHub.

عرض توضيحي

سيقدّم لك هذا العرض التوضيحي إرشادات حول طريقة عمل ملفات تعريف الارتباط المقسّمة وكيفية فحصها في "أدوات مطوري البرامج".

يضمِّن الموقع الإلكتروني "أ" إطار iframe من الموقع "ب" يستخدم JavaScript لضبط ملفَّي تعريف ارتباط: ملفّ تعريف ارتباط مقسّم وغير مقسّم. يعرض الموقع الإلكتروني "ب" جميع ملفات تعريف الارتباط التي يمكن الوصول إليها من ذلك الموقع الجغرافي باستخدام document.cookie.

عند حظر ملفات تعريف الارتباط التابعة لجهات خارجية، لن يتمكّن الموقع الإلكتروني "ب" من ضبط ملف تعريف الارتباط والوصول إليه إلا باستخدام السمة Partitioned في سياق مواقع إلكترونية متعددة.

عند السماح بملفات تعريف الارتباط التابعة لجهات خارجية، يمكن للموقع الإلكتروني "ب" أيضًا ضبط ملف تعريف الارتباط غير المقسَّم والوصول إليه.

الموقع "أ" والموقع الإلكتروني "ب"
على اليمين: تم حظر ملفات تعريف الارتباط التابعة لجهات خارجية. على اليمين: يُسمح بملفات تعريف الارتباط التابعة لجهات خارجية.

المتطلبات الأساسية

  1. الإصدار 118 من Chrome أو إصدار أحدث
  2. الانتقال إلى chrome://flags/#test-third-party-cookie-phaseout وتفعيل هذا الخيار

استخدام أدوات مطوّري البرامج لفحص ملفات تعريف الارتباط المقسَّمة

  1. الانتقال إلى https://chips-site-a.glitch.me
  2. اضغط على Control+Shift+J (أو Command+Option+J على جهاز Mac) لفتح "أدوات مطوري البرامج".
  3. انقر على علامة التبويب التطبيق.
  4. انتقل إلى التطبيق > التخزين > ملفات تعريف الارتباط:
  5. انقر على https://chips-site-b.glitch.me.

ستعرض "أدوات مطوّري البرامج" جميع ملفات تعريف الارتباط من المصدر المحدَّد.

ملفات تعريف الارتباط من الموقع الإلكتروني "ب" في علامة التبويب "تطبيق أدوات مطوّري البرامج"

يمكن للموقع الإلكتروني "ب" ضبط ملفّ تعريف الارتباط المقسّم في سياق مواقع إلكترونية مختلفة فقط، وسيتم حظر ملفّ تعريف الارتباط غير المقسّم:

  • من المفترض أن يظهر لك الرمز __Host-partitioned-cookie مع مفتاح تقسيم موقع المستوى الأعلى https://chips-site-a.glitch.me.
مفتاح التقسيم لملف تعريف الارتباط __Host-partitioned-cookie
  1. انقر على الانتقال إلى الموقع "ب".
  2. في أدوات مطوري البرامج، انتقل إلى التطبيق > التخزين > ملفات تعريف الارتباط:
  3. انقر على https://chips-site-b.glitch.me.
الموقع "ب"
في المستوى الأعلى، يمكن للموقع الإلكتروني "ب" الاطّلاع على جميع ملفات تعريف الارتباط، المقسَّمة وغير المقسَّمة

في هذا السيناريو، ولأنّك تتصفّح الموقع الإلكتروني "ب" في سياق المستوى الأعلى، سيكون بإمكانه ضبط ملفَّي تعريف الارتباط والوصول إليهما:

  • لدى unpartitioned-cookie مفتاح تقسيم فارغ.
  • يتضمن ملف تعريف الارتباط __Host-partitioned-cookie مفتاح التقسيم https://chips-site-b.glitch.me.
ملفات تعريف الارتباط من الموقع "ب" في علامة التبويب "تطبيق أدوات مطوّري البرامج" عند زيارة الموقع "ب" كموقع إلكتروني من المستوى الأعلى. __Host-partitioned-cookie يحتوي على مفتاح التقسيم https://chips-site-b.glitch.me.

في حال الرجوع إلى الموقع الإلكتروني "أ"، سيتم تخزين unpartitioned-cookie في المتصفح الآن، ولكن لن يكون بإمكانك الوصول إليه من الموقع "أ".

  1. انقر على الانتقال إلى الموقع الإلكتروني "أ".
  2. انقر على علامة التبويب الشبكة.
  3. انقر على https://chips-site-b.glitch.me.
  4. انقر على علامة التبويب ملفّات تعريف الارتباط (Cookies).

أثناء تصفُّح الموقع الإلكتروني "أ"، من المفترض أن يظهر لك __Host-partitioned-cookie مع مفتاح تقسيم الموقع الإلكتروني ذي المستوى الأعلى https://chips-site-a.glitch.me.

علامة تبويب "الشبكة" التي تعرض ملفات تعريف الارتباط من إطار iframe للموقع الإلكتروني "ب" والتي يمكن الوصول إليها عندما تكون مضمّنة في الموقع "أ"

إذا وضعت علامة في المربّع بجانب عرض طلبات ملفات تعريف الارتباط التي تمت فلترتها، ستعرِض "أدوات مطوّري البرامج" أنّ ملف تعريف الارتباط غير المقسّم محظور، وسيكون مميزًا باللون الأصفر مع تلميح: "تم حظر ملف تعريف الارتباط هذا بسبب إعدادات المستخدم المفضّلة".

علامة تبويب "الشبكة" تعرض ملفات تعريف الارتباط المحظورة من إطار iframe للموقع الإلكتروني "ب"

في التطبيق > التخزين > ملفات تعريف الارتباط انقر على https://chips-site-b.glitch.me ستعرض:

  • unpartitioned-cookie باستخدام مفتاح التقسيم الفارغ.
  • ملف تعريف الارتباط __Host-partitioned-cookie باستخدام مفتاح التقسيم https://chips-site-a.glitch.me.
ملفات تعريف الارتباط من الموقع "ب" في علامة التبويب "تطبيق أدوات مطوّري البرامج". يتضمن ملف تعريف الارتباط __Host-partitioned-cookie مفتاح التقسيم https://chips-site-a.glitch.me. يتم عرض unpartitioned-cookie، ولكن لا يمكن الوصول إلى إطار iframe في الموقع الإلكتروني "ب" عندما يكون مضمّنًا في الموقع الإلكتروني "أ".

محو ملفات تعريف الارتباط

لإعادة ضبط العرض التوضيحي، عليك محو جميع ملفات تعريف الارتباط للموقع الإلكتروني:

  • اضغط على Control+Shift+J (أو Command+Option+J على جهاز Mac) لفتح "أدوات مطوري البرامج".
  • انقر على علامة التبويب التطبيق.
  • انتقل إلى التطبيق > التخزين > ملفات تعريف الارتباط:
  • انقر بزر الماوس الأيمن على https://chips-site-b.glitch.me.
  • انقر على محو.

الموارد