تفاعلات النوافذ المنبثقة الآمنة باستخدام المواقع المحظورة

يمكنك الاستفادة من ميزة عزل البيانات من مصادر متعددة وحماية من تسرُّب البيانات من مواقع إلكترونية متعددة أثناء التفاعل مع النوافذ المنبثقة.

Arthur Hemery
Maud Nalpas
Maud Nalpas

تتوفَّر قيمة جديدة لسياسة إتاحة بروتوكول إتاحة التشفير المتعدد المصادر (COOP)، وهي restrict-properties. توفّر هذه الميزة مزايا أمنية وتسهّل استخدام العزل المشترك المصدر مع السماح لموقعك الإلكتروني بالتفاعل مع النوافذ المنبثقة التابعة لجهات خارجية بشأن عمليات الدفع أو المصادقة أو حالات الاستخدام الأخرى.

لبدء تجربة استخدام restrict-properties، يُرجى المشاركة في مرحلة التجربة والتقييم التي تبدأ في Chrome 116.

أسباب استخدام restrict-properties

هناك حالتا استخدام رئيسيتان في "restrict-properties":

منع تسرُّب البيانات من عدة مواقع إلكترونية بدون حدوث عطل

وبشكل تلقائي، يمكن لأي موقع إلكتروني فتح تطبيقك في نافذة منبثقة والحصول على مرجع له.

يمكن للمواقع الإلكترونية الضارة استخدام هذه الميزة لصالحها لتنفيذ هجمات مثل تسرُّب البيانات من عدة مواقع إلكترونية متعددة. للحدّ من هذه المخاطر، يمكنك استخدام عنوان Cross-Origin-Opener-Policy (COOP).

حتى الآن، كانت خياراتك محدودة في Cross-Origin-Opener-Policy. يمكنك إما:

  • يمكنك ضبط same-origin, الذي يحظر جميع التفاعلات من مصادر متعددة مع النوافذ المنبثقة.
  • يمكنك ضبط same-origin-allow-popups، ما يمنع جميع التفاعلات المتعدّدة المصادر التي تفتح موقعك الإلكتروني في نافذة منبثقة.
  • يمكنك ضبط unsafe-none، ما يسمح بجميع التفاعلات من مصادر متعددة مع النوافذ المنبثقة.

وهذا جعل من المستحيل على مواقع الويب التي يجب فتحها في نافذة منبثقة التفاعل مع الفتحة لفرض سياسة COOP. أدى هذا إلى ترك حالات الاستخدام الرئيسية مثل الدخول الموحّد والدفعات بدون حماية من تسرُّب البيانات من مواقع إلكترونية مختلفة.

يتم حل هذه المشكلة من خلال Cross-Origin-Opener-Policy: restrict-properties.

مع restrict-properties، لا تتوفّر الخصائص التي يمكن استخدامها لاحتساب عدد اللقطات في الثانية والهجمات الأخرى للتسرُّب على مواقع إلكترونية مختلفة، ولكن يُسمح بالاتصال الأساسي بين نظامَي التشغيل Windows من خلال postMessage وclosed.

يساعد ذلك في تحسين أمان الموقع الإلكتروني مع الحفاظ على حالات الاستخدام الرئيسية. مثال:

  • في حال تقديم خدمة في نافذة منبثقة، سيتيح لك ضبط Cross-Origin-Opener-Policy: restrict-properties حماية نفسك من مجموعة من هجمات التسرُّب على مواقع إلكترونية متعددة. لا يزال بإمكانك فتح كل الصفحات التي كان بإمكانك فتحها في السابق.
  • إذا كنت بحاجة إلى الوصول إلى نافذة منبثقة من مصادر متعددة، سيؤدي ضبط Cross-Origin-Opener-Policy: restrict-properties إلى حماية موقعك الإلكتروني أيضًا من احتساب إطارات iframe. ستكون قادرًا على فتح نفس مجموعة النوافذ المنبثقة التي يمكنك فتحها اليوم.
  • إذا ضبطت كل من الفتحة والفتحة العنوان، وكانت الصفحات من مصادر متعددة، ستعمل بشكل مشابه لأحدهما عند تعيين العنوان. وإذا كانا من المصدر نفسه، يتم منح إمكانية الوصول الكامل.

حظر الوصول من نطاقات أخرى إلى موقعك الإلكتروني

أهمية حظر الوصول من نطاقات أخرى

تزيد بعض واجهات برمجة تطبيقات الويب من مخاطر حدوث هجمات على القنوات الجانبية، مثل Spectre. للحدّ من هذه المخاطر، توفّر المتصفِّحات بيئة معزولة تستند إلى الموافقة تُسمى عزل المحتوى من مصادر متعددة. إذا تم عزلها عن مصادر متعددة، يمكن لصفحة الويب استخدام ميزات خاصة تشمل SharedArrayBuffer وperformance.measureUserAgentSpecificMemory() والموقّتات العالية الدقة ذات الدقة الأفضل مع عزل المصدر عن المصادر الأخرى ما لم تكن مفعَّلة.

حتى الآن، كان عليك إعداد Cross-Origin-Opener-Policy: same-origin لاستخدام واجهات برمجة التطبيقات هذه. ومع ذلك، قد يؤدي ذلك إلى إيقاف أي تدفق منبثق متعدد المصادر قد تحتاج إليه، مثل الدخول الموحّد والدفعات.

يمكن الآن استخدام Cross-Origin-Opener-Policy: restrict-properties بدلاً من Cross-Origin-Opener-Policy: same-origin لتفعيل ميزة العزل المشترك المصدر. بدلاً من قطع العلاقة الافتتاحية، يتم فقط حصرها على المجموعة الفرعية للتواصل ذات الحد الأدنى، وهي window.postMessage() وwindow.closed.

ستتمكّن من تفعيل ميزة العزل المشترك المصدر باستخدام العنوانين التاليين:

Cross-Origin-Opener-Policy: restrict-properties
Cross-Origin-Embedder-Policy: require-corp

أو

Cross-Origin-Opener-Policy: restrict-properties
Cross-Origin-Embedder-Policy: credentialless

يمكنك الاطّلاع على مزيد من المعلومات حول credentialless على الرابط تحميل الموارد المتعددة المصادر بدون عناوين CORP باستخدام COEP: credentialless.

الخصائص الديموغرافية

يمكنك تجربة خيارات عناوين متنوعة في هذا العرض التوضيحي لعزل البيانات من نطاقات أخرى.

تجربة مرحلة التجربة والتقييم

لتجربة Cross-Origin-Opener-Policy: restrict-properties، عليك الاشتراك في مرحلة التجربة والتقييم.

المتصفحات المتوافقة

"Cross-Origin-Opener-Policy: restrict-properties" غير متاح حاليًا إلا في Chrome. المتصفحات الأخرى تشارك بشكل نشط في النقاش بهدف توحيد المقاييس.

الأسئلة الشائعة

يحتاج موقعي الإلكتروني إلى التواصل مع النوافذ المنبثقة من المصدر نفسه. هل يجب استخدام COOP: restrict-properties لتفعيل ميزة عزل المحتوى من مصادر متعددة؟

ولن يؤدي إعداد علامة COOP: restrict-properties في كلّ من النافذة المنبثقة وصفحتك الرئيسية إلى فرض قيود. سيؤدي ضبط السياسة في النافذة المنبثقة فقط أو في الصفحة الرئيسية فقط إلى منع الوصول إلى أي سمات غير postMessage وclosed في نافذة الفتح، حتى لو كانت من المصدر نفسه.

هل مجموعة الخصائص المسموح بها ثابتة؟

استنادًا إلى الملاحظات التي تلقّيناها حتى الآن، يُشتبه في أنّ الترميزَين window.postMessage وwindow.closed كافيان لمعظم عمليات سير العمل، ولكنّنا لا نزال نفكر في إتاحة هذا المكوّن الإضافي لمواقع أخرى. إذا كانت لديك حالة استخدام يتعذّر حلّها باستخدام postMessage فقط وclosed، يُرجى تقديم ملاحظاتك وآرائك في سلسلة محادثات Intent to التجريبية.

المراجِع