السماح لمطوّري البرامج بتفعيل ملفات تعريف الارتباط في "مقسم" تخزين، مع وعاء منفصل لملفات تعريف الارتباط لكل موقع إلكتروني من المستوى الأعلى.
حالة التنفيذ
- متوافق بشكل تلقائي في Chrome 114 والإصدارات الأحدث
- تتوفّر الآن مرحلة التجربة والتقييم على إصدارات Chrome 100 وChrome 116.
- اطّلِع على الرغبة في إجراء التجربة ونوايا الشحن.
ما هي ملفات تعريف الارتباط في الحالة المقسَّمة المنفصلة (CHIPS)؟
إنّ ملفات تعريف الارتباط ذات الحالة المقسَّمة المستقلة (CHIPS) تتيح للمطوّرين اختيار ملف تعريف الارتباط في مساحة تخزين مقسَّمة، مع استخدام حافظات ملفات تعريف ارتباط منفصلة لكل موقع إلكتروني من المستوى الأعلى، ما يحسّن خصوصية المستخدم وأمانه.
وبدون تقسيم، يمكن لملفات تعريف الارتباط التابعة لجهات خارجية تفعيل الخدمات من أجل تتبُّع المستخدمين ودمج معلوماتهم من العديد من المواقع الإلكترونية ذات المستوى الأعلى التي لا صلة لها بالموقع الإلكتروني. يُعرف ذلك باسم التتبُّع في جميع المواقع الإلكترونية.
وبدأت المتصفّحات في العمل على الإيقاف التدريجي لملفات تعريف الارتباط التابعة لجهات خارجية غير المقسَّمة، لذا ستكون CHIPS وStorage Access API وRelated Website Sets هي الطريقة الوحيدة لقراءة ملفات تعريف الارتباط وكتابتها من سياقات مواقع إلكترونية متعددة، مثل إطارات iframe، عند حظر ملفات تعريف الارتباط التابعة لجهات خارجية.
![مخطّط يوضّح كيفية مشاركة الطهاة بين موقعَين إلكترونيَين مختلفَين.](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/without-cookie-partitioni-bb0cbbf0c63d.png?authuser=0000&hl=ar)
تقدّم ملفات تعريف الارتباط في ملفات تعريف الارتباط (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;"
ويرتبط ملف تعريف الارتباط المُقسَّم التابع لجهة خارجية بموقع إلكتروني من المستوى الأعلى تم ضبطه في البداية ولا يمكن الوصول إليه من أي مكان آخر. وبهذه الطريقة، لا يمكن قراءة ملفات تعريف الارتباط التي تم ضبطها بواسطة خدمة تابعة لجهة خارجية إلا ضمن السياق المضمَّن نفسه للموقع الإلكتروني ذي المستوى الأعلى حيث تم ضبطها في البداية.
![مخطّط بياني يوضّح أنّ موقعَين مختلفَين على الويب يضمّان جهة خارجية مشتركة لن يشاركا بعد الآن ملفات تعريف الارتباط لتلك الجهة الخارجية.](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/with-cookie-partitioning-d3df97804f836.png?authuser=0000&hl=ar)
عند استخدام ملفات تعريف الارتباط المقسَّمة، عندما يزور المستخدم الموقع "أ" ويضبط المحتوى المضمّن من الموقع "ج" ملف تعريف ارتباط باستخدام السمة المقسَّمة، يتم حفظ ملف تعريف الارتباط في وعاء مقسّم مخصّص فقط لملفات تعريف الارتباط التي يضبطها الموقع الإلكتروني "ج" عندما يكون مضمّنًا في الموقع الإلكتروني "أ". ولن يرسل المتصفح ملف تعريف الارتباط هذا إلا عندما يكون الموقع الإلكتروني ذي المستوى الأعلى هو A.
وعندما يزور المستخدم موقعًا إلكترونيًا جديدًا، مثل الموقع "ب"، لن يتلقى إطار C المضمّن ملف تعريف الارتباط الذي تم إعداده عند تضمين C في الموقع "أ".
في حال زار أحد المستخدمين الموقع الإلكتروني "ج" كموقع إلكتروني من المستوى الأعلى، لن يتم أيضًا إرسال ملف تعريف الارتباط المقسّم الذي عيّنه "ج" عند تضمينه في النموذج "أ".
![مخطّط بياني يوضّح عدم مشاركة ملفات تعريف الارتباط عندما يكون الطرف الثالث نفسه مضمّنًا في موقعَين إلكترونيَين مختلفَين](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/with-cookie-partitioning-a19ff8bdd6d0d.png?authuser=0000&hl=ar)
حالات الاستخدام
على سبيل المثال، قد يحتاج الموقع retail.example
إلى العمل مع خدمة تابعة لجهة خارجية support.chat.example
لتضمين مربع دردشة دعم على موقعه. يعتمد العديد من خدمات المحادثة القابلة للتضمين حاليًا على ملفات تعريف الارتباط لحفظ الحالة.
![مخطّط بياني يعرض موقعًا إلكترونيًا به تطبيق مصغّر للمحادثات](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/top-level-site-retailexa-b1bf622bc028e.png?authuser=0000&hl=ar)
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 وبعده.
![يتشارك الموقع الإلكتروني "أ" والموقع الإلكتروني "ج" المضمّن في ملف تعريف ارتباط مقسّم. وعند عدم تضمينه، لا يمكن للموقع الإلكتروني "ج" الوصول إلى ملف تعريف الارتباط المقسّم.](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/site-and-embedded-site-b6ea4419a367f.png?authuser=0000&hl=ar)
قبل ملفات تعريف الارتباط في الحالة المقسَّمة المنفصلة (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
في سياق مواقع إلكترونية متعددة.
عند السماح بملفات تعريف الارتباط التابعة لجهات خارجية، يمكن للموقع الإلكتروني "ب" أيضًا ضبط ملف تعريف الارتباط غير المقسَّم والوصول إليه.
![الموقع "أ" والموقع الإلكتروني "ب"](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/3p-cookies-blocked-and-not-blocked.png?authuser=0000&hl=ar)
المتطلبات الأساسية
- الإصدار 118 من Chrome أو إصدار أحدث
- الانتقال إلى
chrome://flags/#test-third-party-cookie-phaseout
وتفعيل هذا الخيار
استخدام أدوات مطوّري البرامج لفحص ملفات تعريف الارتباط المقسَّمة
- الانتقال إلى https://chips-site-a.glitch.me
- اضغط على
Control+Shift+J
(أوCommand+Option+J
على جهاز Mac) لفتح "أدوات مطوري البرامج". - انقر على علامة التبويب التطبيق.
- انتقل إلى التطبيق > التخزين > ملفات تعريف الارتباط:
- انقر على
https://chips-site-b.glitch.me
.
ستعرض "أدوات مطوّري البرامج" جميع ملفات تعريف الارتباط من المصدر المحدَّد.
![](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/QcTVEgWjGYQZJtMX0g4a.png?authuser=0000&hl=ar)
يمكن للموقع الإلكتروني "ب" ضبط ملفّ تعريف الارتباط المقسّم في سياق مواقع إلكترونية مختلفة فقط، وسيتم حظر ملفّ تعريف الارتباط غير المقسّم:
- من المفترض أن يظهر لك الرمز
__Host-partitioned-cookie
مع مفتاح تقسيم موقع المستوى الأعلىhttps://chips-site-a.glitch.me
.
![](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/DvSAMie7T41SFBY7wUrc.png?authuser=0000&hl=ar)
- انقر على الانتقال إلى الموقع "ب".
- في أدوات مطوري البرامج، انتقل إلى التطبيق > التخزين > ملفات تعريف الارتباط:
- انقر على
https://chips-site-b.glitch.me
.
![الموقع "ب"](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/site-b.png?authuser=0000&hl=ar)
في هذا السيناريو، ولأنّك تتصفّح الموقع الإلكتروني "ب" في سياق المستوى الأعلى، سيكون بإمكانه ضبط ملفَّي تعريف الارتباط والوصول إليهما:
- لدى
unpartitioned-cookie
مفتاح تقسيم فارغ. - يتضمن ملف تعريف الارتباط
__Host-partitioned-cookie
مفتاح التقسيمhttps://chips-site-b.glitch.me
.
![](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/vl4ouXXVqQ1bB5dEP4iK.png?authuser=0000&hl=ar)
في حال الرجوع إلى الموقع الإلكتروني "أ"، سيتم تخزين unpartitioned-cookie
في المتصفح الآن، ولكن لن يكون بإمكانك الوصول إليه من الموقع "أ".
- انقر على الانتقال إلى الموقع الإلكتروني "أ".
- انقر على علامة التبويب الشبكة.
- انقر على
https://chips-site-b.glitch.me
. - انقر على علامة التبويب ملفّات تعريف الارتباط (Cookies).
أثناء تصفُّح الموقع الإلكتروني "أ"، من المفترض أن يظهر لك __Host-partitioned-cookie
مع مفتاح تقسيم الموقع الإلكتروني ذي المستوى الأعلى https://chips-site-a.glitch.me
.
![](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/223LlvPnqtMPoEjMASht.png?authuser=0000&hl=ar)
إذا وضعت علامة في المربّع بجانب عرض طلبات ملفات تعريف الارتباط التي تمت فلترتها، ستعرِض "أدوات مطوّري البرامج" أنّ ملف تعريف الارتباط غير المقسّم محظور، وسيكون مميزًا باللون الأصفر مع تلميح: "تم حظر ملف تعريف الارتباط هذا بسبب إعدادات المستخدم المفضّلة".
![](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/a4jDguCgbwt9D5RB5Q6r.png?authuser=0000&hl=ar)
في التطبيق > التخزين > ملفات تعريف الارتباط انقر على https://chips-site-b.glitch.me
ستعرض:
unpartitioned-cookie
باستخدام مفتاح التقسيم الفارغ.- ملف تعريف الارتباط
__Host-partitioned-cookie
باستخدام مفتاح التقسيمhttps://chips-site-a.glitch.me
.
![](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/tv3pAAoTktiX3nZdIUIh.png?authuser=0000&hl=ar)
__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
. - انقر على محو.
الموارد
- GitHub: اطّلِع على المشرح واطرح الأسئلة وتابِع المناقشة.
- فريق دعم المطوّرين: يمكنك طرح الأسئلة والانضمام إلى المناقشات حول مستودع دعم المطوّرين ضمن "مبادرة حماية الخصوصية".