عند نقل موقعك الإلكتروني إلى ملفات تعريف ارتباط مقسّمة، قد تواجه سلوكًا غير متوقَّع في حال توفُّر ملف تعريف ارتباط مقسّم وغير مقسّم بالأسماء نفسها لأي برنامج معيّن.
لا يؤدّي ضبط ملفّ تعريف ارتباط مقسّم إلى إلغاء أو استبدال ملفّ تعريف ارتباط حالي غير مقسَّم بالاسم نفسه. سيظلّ كلاهما متوفّرًا، ما دامت ملفات تعريف الارتباط التابعة لجهات خارجية مفعّلة، ولكن في حاويات ملفات تعريف ارتباط منفصلة. عند إيقاف ملفات تعريف الارتباط التابعة لجهة خارجية، لن يتم قبول سوى ملفات تعريف الارتباط المقسَّمة. في حال توفّر ملفّا تعريف ارتباط، لا يمكن تحديد ملفّ تعريف الارتباط الذي تم تقسيمه وملفّ تعريف الارتباط الذي لم يتم تقسيمه برمجيًا، ويمكن أن يؤدّي ذلك إلى حدوث سلوك غير متوقّع.
هناك خياران محتملان لحلّ هذه المشكلة: 1. انتهاء صلاحية ملف تعريف الارتباط الذي تستبدله 2. إعادة تسمية ملفات تعريف الارتباط
الاعتبارات الرئيسية
أثناء الانتقال إلى ملفات تعريف الارتباط المقسّمة، يُرجى مراعاة ما يلي:
- ليست هناك طريقة لتحديد ما إذا كان ملف تعريف الارتباط المُرسَل في طلب HTTP مقسّمًا أو غير مقسم بشكل آلي. ومع ذلك، يمكنك تحديد حالة تقسيم ملف تعريف الارتباط في أدوات مطوّري البرامج في Chrome. يمكنك التمييز بين ملفات تعريف الارتباط المُقسَّمة وغير المُقسَّمة التي لا تحتوي على السمة
HttpOnly
باستخدام واجهة برمجة التطبيقات CookieStore API. - لا تُحلّ ملفات تعريف الارتباط المقسّمة محل ملفات تعريف الارتباط غير المقسّمة. سيتم التعامل مع ملفَّي تعريف ارتباط
متطابقَين تمامًا (أي أنّهما يتضمّنان السمات نفسها، مثل الاسم أو النطاق أو المسار)
كملفَّي تعريف ارتباط منفصلَين إذا كان أحدهما فقط يتضمّن سمة
Partitioned
. - ومن الأفضل تجنب موقف يكون لديك فيه ملف تعريف ارتباط مقسم وملف تعريف ارتباط غير مقسم بالاسم نفسه يتم عرضها في نفس استدعاء الشبكة.
انتهاء صلاحية ملفات تعريف الارتباط التي يتم استبدالها
إذا لم يتمكّن موقعك الإلكتروني أو خدمتك من استيعاب تغيير في الاسم، يمكنك إنشاء
ملف تعريف ارتباط جديد مقسَّم مع انتهاء صلاحية ملفّ تعريف الارتباط الحالي غير المقسَّم. على الرغم من أنّه
لا تتوفّر طريقة لتحديد ما إذا كان ملف تعريف ارتباط مُقسَّمًا أم لا، لن تؤثّر Set-Cookie
الرؤوس التي تحتوي على سمة Partitioned
في ملفات تعريف الارتباط غير المُقسَّمة.
يوضّح المثال التالي كيفية انتهاء صلاحية ملف تعريف الارتباط غير المقسّم الذي يُسمى example
وترك أي ملفات تعريف ارتباط مقسّمة بدون تأثير، حتى إذا كانت تحمل الاسم نفسه. سيتمّت إضافة ملف تعريف ارتباط جديد
مقسّم باسم cookieName
أو تعديله إذا كان
موجودًا.
Set-Cookie: example=-1;HttpOnly;SameSite=None;Secure;Max-Age:0
Set-Cookie: cookieName=value;Secure;SameSite=None;MaxAge=34560000;Partitioned
إعادة تسمية ملفات تعريف الارتباط
إنّ الطريقة الأكثر فعالية لضمان إجراء عملية نقل سلسة هي استخدام أسماء مختلفة لملفات تعريف الارتباط المقسّمة وغير المقسّمة. على سبيل المثال، إذا كان لديك ملف تعريف ارتباط غير مقسّم اسمه "example"، يمكنك نقله إلى ملف تعريف ارتباط مقسّم.
Set-Cookie: example-partitioned=value;Secure;SameSite=None;MaxAge=34560000;Partitioned
بما أنّ انتهاء صلاحية ملفّ تعريف الارتباط لا يتمّ عرضه آليًا، ليس هناك طريقة لضبط انتهاء صلاحية ملفّ تعريف الارتباط الجديد لتتزامن مع انتهاء صلاحية ملفّ تعريف الارتباط غير المقسّم. قد يكون من العملي إعادة تحميل قيمة ملف تعريف الارتباط أثناء هذه العملية.
الاحتفاظ بملفات تعريف الارتباط المقسَّمة وغير المقسَّمة
خلال الفترة الانتقالية، ننصحك بالاحتفاظ بملفي تعريف ارتباط منفصلين تمت مزامنتهما:
أحدهما تم تقسيمه والآخر غير المقسم. على سبيل المثال، قد يكون لديك كلّ من ملفّي تعريف الارتباط
auth
وauth-partitioned
، حيث تمّ ضبط الأخير باستخدام السمة
Partitioned
.
في كل مرة يتم فيها تعديل القيمة، يجب محاولة ضبط كلتا ملفّي تعريف الارتباط.
- بالنسبة إلى البرامج التي تحظر ملفات تعريف الارتباط التابعة لجهات خارجية ولكنها لا تتيح استخدام ملفات تعريف الارتباط في الحالة المقسَّمة المنفصلة (CHIPS) بعد: لن يتم قبول أي من ملفَّي تعريف الارتباط.
- في العملاء الذين يحظرون ملفات تعريف الارتباط التابعة لجهات خارجية ويتوافقون مع CHIPS: سيتم رفض ملف تعريف الارتباط
auth
، ولكن سيتم قبول ملف تعريف الارتباطauth-partitioned
. - بالنسبة إلى البرامج التي لا تحظر ملفات تعريف الارتباط التابعة لجهات خارجية، بغض النظر عمّا إذا كانت متوافقة مع ملفات تعريف الارتباط في الحالة المقسَّمة المنفصلة (CHIPS): يتم قبول كل من
auth
وauth-partitioned
.
عندما يحتاج تطبيقك إلى قراءة ملف تعريف ارتباط المصادقة، يجب البحث أولاً عنauth-partitioned
، ولكن إذا كان عليك التراجع مؤقتًا عن
التغيير، يمكنك الرجوع إلى البحث عن ملف تعريف الارتباطauth
.
بعد التأكّد من أنّ معظم المستخدِمين قد صعّدوا
ملفات تعريف الارتباط، يمكن إيقاف ملف تعريف الارتباط auth-partitioned
نهائيًا وإضافة السمة
Partitioned إلى ملف تعريف الارتباط العادي لتسجيل الدخول.