رصد مدى توفّر ملفات تعريف الارتباط التابعة لجهات خارجية في Chrome

اقترح فريق Chrome تجربة جديدة تتيح للمستخدمين اختيار كيفية التعامل مع ملفات تعريف الارتباط التابعة لجهات خارجية أثناء التصفّح. قد تحتاج المواقع الإلكترونية والخدمات إلى رصد ما إذا كانت ملفات تعريف الارتباط التابعة لجهات خارجية متاحة في سياق معيّن أم لا. يتضمّن Chrome طريقتَين أساسيتَين لرصد الوصول إلى ملفات تعريف الارتباط التابعة لجهات خارجية للمحتوى المضمّن: استخدام طريقة JavaScript hasStorageAccess ومراقبة رؤوس Sec-Fetch-Storage-Access.

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

رصد الوصول إلى ملفات تعريف الارتباط التابعة لجهات خارجية في إطارات iframe

عندما يكون محتوى إطار iframe مستضافًا على موقع إلكتروني مختلف عن الموقع الإلكتروني المعروض في شريط العناوين الخاص بالمستخدم، يُعتبر ذلك محتوى على مواقع إلكترونية مختلفة وقد يتم حظر ملفات تعريف الارتباط التابعة لجهات خارجية. يمكن لإطار iframe رصد ما إذا كان لديه حاليًا إذن الوصول إلى ملفات تعريف الارتباط التابعة لجهات خارجية، وذلك من خلال استدعاء await document.hasStorageAccess(). تعرض هذه الطريقة القيمة true أو false، وذلك استنادًا إلى ما إذا كان الإطار يمكنه الوصول إلى ملفات تعريف الارتباط غير المقسّمة أم لا.

إذا كان إطار iframe يستخدم واجهة برمجة التطبيقات Storage Access API (SAA) للوصول إلى ملفات تعريف الارتباط غير المقسّمة على جميع المواقع الإلكترونية (باستخدام SAA بمفردها أو مع مجموعات المواقع الإلكترونية المرتبطة)، يمكنك التحقّق من إذن storage-access لتحديد ما إذا كان بإمكان الإطار تفعيل الوصول إلى ملفات تعريف الارتباط غير المقسّمة أم لا.

رصد الوصول إلى ملفات تعريف الارتباط التابعة لجهات خارجية في طلبات HTTP

اعتبارًا من الإصدار 133 من Chrome، يتم إرسال العنوان Sec-Fetch-Storage-Access مع الطلبات التي تتضمّن بيانات اعتماد لإعلام الخادم بما إذا كان سياق الاستدعاء الخاص به يمكنه الوصول إلى ملفات تعريف الارتباط غير المقسّمة أم لا. يحتوي هذا العنوان على إحدى القيم الثلاث التالية:

  • none: لا يمكن للمحتوى المضمّن الوصول إلى ملفات تعريف الارتباط غير المقسّمة.
  • inactive: لدى العنصر المضمّن إذن بالوصول إلى ملفات تعريف الارتباط غير المقسّمة، ولكنّه لم يفعّلها.
  • active: يمكن للمحتوى المضمّن الوصول إلى ملفات تعريف ارتباط غير مقسّمة

الشروط التي تمنح المحتوى المضمّن إذن الوصول إلى ملفات تعريف الارتباط غير المقسّمة

يمكن منح إذن الوصول إلى ملفات تعريف الارتباط التابعة لجهات خارجية غير المُقسَّمة بعدة طرق لتلبية الحالات التي توفّر فيها ملفات تعريف الارتباط هذه الوظائف اللازمة. تؤدي الطرق التالية إلى منح إذن الوصول إلى ملفات تعريف الارتباط غير المقسّمة. في العديد من الحالات، يجب استدعاء requestStorageAccess() أو requestStorageAccessFor() قبل منح الإذن بالوصول.

الطريقة مثال هل يجب استدعاء requestStorageAccess؟
طلب Storage Access API يُطلب من المستخدم السماح بالوصول إلى مساحة التخزين، فيختار "السماح". نعم
إدارة بيانات الاعتماد الموحّدة يسجّل المستخدم الدخول باستخدام موفِّر هوية (IdP) مُوحَّد، ويطلب إطار موفِّر الهوية الوصول إلى مساحة التخزين. نعم
مجموعة المواقع الإلكترونية المرتبطة أن يكون المحتوى المضمّن وصاحب عملية التضمين ينتميان إلى "خدمة إعادة عرض الإعلانات" نفسها نعم
3 أجهزة كمبيوتر مفعَّلة في إعدادات المستخدم يختار المستخدم السماح بـ "المعالجة الطرفية 3" لجميع عمليات التصفّح أو لمصدر محدّد فقط. لا
الاستثناءات المستنِدة إلى الإعدادات الإرشادية يرصد Chrome نمطًا استقرائيًا ويمنح تلقائيًا إذن الوصول إلى ملفات تعريف الارتباط غير المقسّمة. لا يلزم إجراء مكالمة إلى requestStorageAccess(). لا
الاستثناءات المؤقتة (مثل فترة السماح) تم تسجيل الموقع الإلكتروني أو الخدمة في استثناء مؤقت في Chrome أثناء عملية الانتقال إلى حلّ أكثر استدامة. لا
سياسات Enterprise اختار مشرف Chrome Enterprise في الشركة السماح بأجهزة 3PC على بعض الزيارات أو جميعها. لا