السماح للمطوّرين بتفعيل ملف تعريف ارتباط في مساحة تخزين "مقسَّمة"، مع توفير وعاء منفصل لملفات تعريف الارتباط لكل موقع إلكتروني من المستوى الأعلى
حالة التنفيذ
- متوافق بشكل تلقائي في Chrome 114 والإصدارات الأحدث
- تتوفّر الآن مرحلة التجربة والتقييم على إصدارات Chrome 100 وChrome 116.
- اطّلِع على الرغبة في إجراء التجربة ونوايا الشحن.
ما هي ميزة "ملفات تعريف الارتباط في الحالة المقسَّمة المنفصلة"؟
تتيح ميزة "ملفات تعريف الارتباط في الحالة المقسَّمة المنفصلة" (CHIPS) للمطوّرين إمكانية إعداد ملف تعريف ارتباط في مساحة تخزين مقسَّمة، مع مساحات تخزين منفصلة لملفات تعريف الارتباط لكل موقع إلكتروني من المستوى الأعلى، ما يؤدي إلى تحسين خصوصية المستخدم وأمانه.
بدون التقسيم، يمكن أن تتيح ملفات تعريف الارتباط التابعة لجهات خارجية للخدمات تتبُّع المستخدمين ودمج معلوماتهم من العديد من المواقع الإلكترونية غير ذات الصلة بالمستوى الأعلى. يُعرف ذلك باسم التتبّع على مواقع إلكترونية متعددة.
إنّ واجهة برمجة التطبيقات Storage Access API ومجموعات المواقع الإلكترونية المرتبطة وملفات تعريف الارتباط المقسّمة حسب الموقع (CHIPS) هي الطريقة الوحيدة لقراءة ملفات تعريف الارتباط وكتابتها من سياقات المواقع الإلكترونية المختلفة، مثل إطارات iframe، عند حظر ملفات تعريف الارتباط التابعة لجهات خارجية.

توفّر ميزة "ملفات تعريف الارتباط في الحالة المقسَّمة المنفصلة" سمة جديدة لملفات تعريف الارتباط، وهي Partitioned
، من أجل إتاحة ملفات تعريف الارتباط على مواقع إلكترونية مختلفة يتم تقسيمها حسب السياق ذي المستوى الأعلى.
عنوان Set-Cookie:
Set-Cookie: __Host-name=value; Secure; Path=/; SameSite=None; Partitioned;
Javascript:
document.cookie="__Host-name=value; Secure; Path=/; SameSite=None; Partitioned;"
يرتبط ملف تعريف الارتباط الخارجي المقسَّم بالموقع الإلكتروني ذي المستوى الأعلى الذي تم ضبطه فيه في البداية، ولا يمكن الوصول إليه من أي مكان آخر. بهذه الطريقة، لا يمكن قراءة ملفات تعريف الارتباط التي تضبطها خدمة تابعة لجهة خارجية إلا في السياق المضمّن نفسه للموقع الإلكتروني من المستوى الأعلى الذي تم ضبطها فيه في البداية.

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

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

support.chat.example
.بدون إمكانية ضبط ملف تعريف ارتباط على مستوى المواقع الإلكترونية، ستحتاج support.chat.example
إلى إيجاد طرق بديلة، وغالبًا ما تكون أكثر تعقيدًا، لتخزين الحالة. بدلاً من ذلك، يجب تضمينها في صفحة المستوى الأعلى التي تتضمّن مخاطر لأنّها تسمح لبرنامج نصي support.chat.example
بالحصول على امتيازات أعلى على retail.example، مثل إمكانية الوصول إلى ملفات تعريف الارتباط الخاصة بالمصادقة.
توفّر CHIPS خيارًا أسهل لمواصلة استخدام ملفات تعريف الارتباط على مواقع إلكترونية مختلفة، بدون المخاطر المرتبطة بملفات تعريف الارتباط غير المقسَّمة.
تشمل أمثلة حالات استخدام CHIPS أي سيناريوهات تتطلّب فيها الموارد الفرعية على مستوى المواقع الإلكترونية مفهومًا للجلسة أو الحالة الثابتة التي يتم تحديد نطاقها حسب نشاط المستخدم على موقع إلكتروني واحد من المستوى الأعلى، مثل:
- محادثات مضمّنة تابعة لجهات خارجية
- تضمين خرائط تابعة لجهات خارجية
- عمليات تضمين خدمات الدفع التابعة لجهات خارجية
- موازنة الحمل في شبكة توصيل المحتوى (CDN) للموارد الفرعية
- مزوّدو أنظمة إدارة المحتوى بلا واجهة مستخدم رسومية
- نطاقات وضع الحماية لعرض محتوى المستخدمين غير الموثوق به (مثل googleusercontent.com وgithubusercontent.com)
- شبكات توصيل المحتوى التابعة لجهات خارجية والتي تستخدم ملفات تعريف الارتباط لعرض المحتوى الذي يتم التحكّم في الوصول إليه من خلال حالة المصادقة على الموقع الإلكتروني الخاص بالطرف الأول (على سبيل المثال، صور الملف الشخصي على مواقع التواصل الاجتماعي المستضافة على شبكات توصيل المحتوى التابعة لجهات خارجية)
- أُطر الواجهة الأمامية التي تعتمد على واجهات برمجة التطبيقات البعيدة التي تستخدم ملفات تعريف الارتباط في طلباتها
- الإعلانات المضمّنة التي تحتاج إلى نطاق حالة لكل ناشر (على سبيل المثال، تسجيل الإعدادات المفضّلة للمستخدمين بشأن الإعلانات على هذا الموقع الإلكتروني)
سبب استخدام ميزة "ملفات تعريف الارتباط في الحالة المقسَّمة المنفصلة" نموذج التقسيم الذي يتطلّب الموافقة
عند حظر الوصول إلى ملفات تعريف الارتباط غير المقسَّمة التابعة لجهات خارجية، تم تجربة طريقتَين أخريَين للتقسيم.
أعلنت شركة Firefox أنّها ستقسّم جميع ملفات تعريف الارتباط التابعة لجهات خارجية تلقائيًا في وضع "الحماية المحسّنة من التتبّع" الصارم ووضع التصفّح الخاص، وبالتالي سيتم تقسيم جميع ملفات تعريف الارتباط على المواقع الإلكترونية المختلفة حسب الموقع الإلكتروني ذي المستوى الأعلى. ومع ذلك، يمكن أن يؤدي تقسيم ملفات تعريف الارتباط بدون موافقة الجهة الخارجية إلى حدوث أخطاء غير متوقّعة، لأنّ بعض الخدمات التابعة لجهات خارجية أنشأت خوادم تتوقّع ملف تعريف ارتباط تابعًا لجهة خارجية غير مقسَّم.
حاول 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 API و"مجموعات المواقع الإلكترونية المرتبطة" في الحالات التي تحتاج فيها إلى توفير ملف تعريف الارتباط نفسه لخدمة مضمّنة في مواقع إلكترونية متعددة مرتبطة.
توفّر ميزة "ملفات تعريف الارتباط في الحالة المقسَّمة المنفصلة" إمكانية أن تعمل الخدمة كمكوّن معزول على مواقع إلكترونية متعدّدة، حيث لا يلزم أن يكون ملف تعريف الارتباط نفسه متاحًا على مواقع إلكترونية متعدّدة. إذا ضبطت الخدمة ملف تعريف ارتباط مقسَّمًا، سيكون مفتاح التقسيم هو الموقع الإلكتروني ذو المستوى الأعلى ولن يكون ملف تعريف الارتباط هذا متاحًا للمواقع الإلكترونية الأخرى التي تستخدم الخدمة أيضًا.
يعتمد تصميم "مجموعات المواقع الإلكترونية المرتبطة" على Storage Access API ولا يتكامل مع تقسيم CHIPS. إذا كان لديك حالة استخدام تعتمد على قسم ملفات تعريف ارتباط مشترَك على مستوى المواقع الإلكترونية ضمن RWS، يمكنك تقديم أمثلة وملاحظات على مشكلة GitHub.
عرض توضيحي
سيوضّح لك هذا العرض التوضيحي طريقة عمل ملفات تعريف الارتباط المقسّمة وكيفية فحصها في "أدوات مطوّري البرامج".
يضمّن الموقع الإلكتروني (أ) إطار iframe من الموقع الإلكتروني (ب) يستخدم JavaScript لضبط ملفَي تعريف ارتباط: ملف تعريف ارتباط مقسّم وآخر غير مقسّم. يعرض الموقع الإلكتروني (ب) جميع ملفات تعريف الارتباط التي يمكن الوصول إليها من هذا الموقع باستخدام document.cookie
.
عند حظر ملفات تعريف الارتباط التابعة لجهات خارجية، لن يتمكّن الموقع الإلكتروني B من ضبط ملف تعريف الارتباط الذي يتضمّن السمة Partitioned
والوصول إليه إلا في سياق المواقع الإلكترونية المختلفة.
عند السماح بملفات تعريف الارتباط التابعة لجهات خارجية، يمكن للموقع الإلكتروني B أيضًا ضبط ملف تعريف الارتباط غير المقسَّم والوصول إليه.

المتطلبات الأساسية
- الإصدار 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
.
ستعرض "أدوات مطوّري Chrome" جميع ملفات تعريف الارتباط من المصدر المحدّد.

يمكن للموقع الإلكتروني (ب) ضبط ملف تعريف الارتباط المقسَّم في سياق مواقع إلكترونية متعددة فقط، وسيتم حظر ملف تعريف الارتباط غير المقسَّم:
- من المفترض أن يظهر
__Host-partitioned-cookie
مع مفتاح التقسيم للموقع الإلكتروني ذي المستوى الأعلىhttps://chips-site-a.glitch.me
.

- انقر على الانتقال إلى الموقع الإلكتروني B.
- في "أدوات مطوّلي البرامج"، انتقِل إلى التطبيق > مساحة التخزين > ملفات تعريف الارتباط.
- انقر على
https://chips-site-b.glitch.me
.

في هذا السيناريو، بما أنّك تتصفّح الموقع الإلكتروني "ب" في سياق المستوى الأعلى، يمكنه ضبط ملفَي تعريف الارتباط والوصول إليهما:
- يحتوي
unpartitioned-cookie
على مفتاح قسم فارغ. - يحتوي ملف تعريف الارتباط
__Host-partitioned-cookie
على مفتاح التقسيمhttps://chips-site-b.glitch.me
.

إذا انتقلت مجددًا إلى الموقع الإلكتروني (أ)، سيتم تخزين unpartitioned-cookie
الآن في المتصفّح، ولكن لن يكون بإمكانك الوصول إليه من الموقع الإلكتروني (أ).
- انقر على الانتقال إلى الموقع الإلكتروني أ (Go to Site A).
- انقر على علامة التبويب الشبكة.
- انقر على
https://chips-site-b.glitch.me
. - انقر على علامة التبويب ملفّات تعريف الارتباط (Cookies).
أثناء التصفّح على الموقع الإلكتروني (أ)، من المفترض أن يظهر لك __Host-partitioned-cookie
مع مفتاح التقسيم الخاص بالموقع الإلكتروني في المستوى الأعلى https://chips-site-a.glitch.me
.

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

في التطبيق > مساحة التخزين > ملفات تعريف الارتباط، سيؤدي النقر على 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 الخاص بالموقع الإلكتروني B عندما يكون مضمّنًا في الموقع الإلكتروني A.محو ملفات تعريف الارتباط
لإعادة ضبط العرض التوضيحي، امحُ جميع ملفات تعريف الارتباط الخاصة بالموقع الإلكتروني:
- اضغط على
Control+Shift+J
(أوCommand+Option+J
على جهاز Mac) لفتح "أدوات مطوّري البرامج". - انقر على علامة التبويب التطبيق.
- انتقِل إلى التطبيق > مساحة التخزين > ملفات تعريف الارتباط.
- انقر بزر الماوس الأيمن على
https://chips-site-b.glitch.me
. - انقر على محو.
الموارد
- GitHub: يمكنك قراءة الشرح وطرح الأسئلة ومتابعة المناقشة.
- دعم المطوّرين: يمكنك طرح الأسئلة والانضمام إلى المناقشات في مستودع دعم المطوّرين في "مبادرة حماية الخصوصية".