تاريخ النشر: 1 أيار (مايو) 2025
اعتبارًا من الإصدار 137 من Chrome، أصبحت سياسة عزل المستندات ميزة جديدة تسهّل استخدام crossOriginIsolation. على عكس سياسة COEP
(Cross-Origin-Embedder-Policy)، تسري سياسة عزل المستندات على كل إطار ولا تفرض أي متطلبات على
الإطارات الفرعية. من خلال تفعيل crossOriginIsolation
، توفّر سياسة عزل المستندات إمكانية استخدام وظائف قوية على الويب، مثل SharedArrayBuffers
أو خيوط WebAssembly.
ما هو المقصود بعزل عناوين URL التابعة للنطاق نفسه؟
يرسم عزل المصادر المتعددة حدودًا صارمة حول المستند و العناصر ذات المصدر نفسه ضمن عملية المتصفّح. ويمنع ذلك تجميع المستند ومشاركة الموارد أو المعلومات مع المستندات من مصادر مختلفة. يحقّق عزل مصادر متعددة للمحتوى ذلك من خلال ضمان إمكانية تحميل المصدر في العملية الخاصة به، بغض النظر عن حالة توافق محرّك المتصفّح الأساسي مع عزل الموقع الإلكتروني أو عزل المصادر المتعددة للمحتوى تلقائيًا. يساعد ذلك في الحماية من هجمات التنفيذ التوقّعي، مثل Spectre.
ما هي سياسة عزل المستندات؟
توفّر سياسة عزل المستندات طريقة أكثر وضوحًا لتنفيذ crossOriginIsolation مقارنةً بسياسة COOP (Cross-Origin-Opener-Policy) وسياسة COEP (Cross-Origin-Embedder-Policy). ويسمح هذا المعيار بإمكانية العزل على أساس كل إطار، ما يزيل الحاجة إلى استخدام ملفّات DIV ملحقة لدعم بروتوكول COEP.
آلية عمل سياسة عزل المستندات
تتيح لك سياسة عزل المستندات عزل إطارات معيّنة ضمن تطبيقات الويب. من خلال إرسال عنوان Document-Isolation-Policy مع المستند، يحصل المستند على إذن الوصول إلى ميزات فعّالة، مثل SharedArrayBuffers، التي تكون محظورة بخلاف ذلك بسبب مخاوف تتعلق بالأمان. على عكس COOP وCOEP، لا تفرض سياسة عزل المستندات قيودًا على الصفحات التي يمكن للمستند التفاعل معها أو على الإطارات الفرعية التي يمكنه تضمينها. يمكن للمستندات التي تستخدم سياسة عزل المستندات فتح نوافذ منبثقة من مصادر مختلفة والتواصل مع هذه النوافذ. ويمكنهم أيضًا تضمين أي iframe بشكلٍ طبيعي.
تتضمّن سياسة عزل المستندات وضعَين، هما isolate-and-require-corp
وisolate-and-credentialless
، وهما مشابهان لحال COEP.
تُحدِّد هذه الأوضاع كيفية معالجة الموارد الفرعية من مصادر متعددة بدون مشاركة موارد
منشأ
(CORS). في وضع isolate-and-require-corp
، يجب أن تذكر موارد المصادر الخارجية
بوضوح سياسة الموارد الخارجية باستخدام العنوان
Cross-Origin-Resource-Policy
، وإلا سيتم حظرها. ويضمن ذلك مشاركة الموارد عمدًا. في المقابل، يسمح وضع isolate-and-credentialless
بتحميل موارد من مصادر متعددة بدون عناوين CORS، ولكنه يزيل أي بيانات اعتماد (مثل ملفات تعريف الارتباط أو مصادقة HTTP) من الطلب، ما يؤدي إلى التعامل مع المورد على أنّه مجهول الهوية. يوفّر هذا الوضع
طريقة أقل تقييدًا ولكن لا تزال آمنة للتعامل مع الموارد غير الخاضعة لسياسة مشاركة الموارد المتعددة المصادر (CORS).
لا تتوفّر لإطارات iframe التي تم عزلها باستخدام سياسة عزل المستندات إمكانية الوصول المتزامن إلى DOM في إطارات iframe التي لها مصدر مماثل وغير معزولة. ومع ذلك، يمكن أن تتواصل هذه الإطارات المُعزَّلة iframes مع الإطارات غير المُعزَّلة باستخدام طرق Window من مصادر مختلفة، مثل postMessage. بالإضافة إلى ذلك، تحتفظ هذه التطبيقات بالوصول الكامل إلى واجهات برمجة تطبيقات مساحة التخزين، ما يتيح ثبات البيانات ومشاركتها ضمن المصدر نفسه، حتى مع تفعيل العزل.