الروابط إلى وجهات مشتركة المصدر غير آمنة

عند الربط بصفحة على موقع إلكتروني آخر باستخدام السمة target="_blank"، يمكن أن تعرّض موقعك الإلكتروني لمشاكل في الأداء والأمان:

  • وقد يتم تشغيل الصفحة الأخرى في العملية نفسها التي يتم بها تشغيل صفحتك. إذا كانت الصفحة الأخرى تُشغّل الكثير من JavaScript، فقد يؤثر ذلك سلبًا على أداء صفحتك.
  • يمكن للصفحة الأخرى الوصول إلى كائن window باستخدام السمة window.opener. وقد يسمح هذا للصفحة الأخرى بإعادة توجيه صفحتك إلى عنوان URL ضار.

جارٍ إضافة rel="noopener" أو rel="noreferrer" إلى روابط target="_blank" لتجنُّب هذه المشاكل.

أسباب تعذُّر تدقيق الوجهة من مصادر متعددة في Lighthouse

تُبلِغ Lighthouse الروابط غير الآمنة المؤدية إلى وجهات متعددة المصادر:

تدقيق في أداة Lighthouse يُظهر روابط غير آمنة تؤدي إلى وجهات مشتركة المصدر

تستخدم أداة Lighthouse العملية التالية لتحديد الروابط غير الآمنة:

  1. جمع كل علامات <a> التي تحتوي على السمة target="_blank" ولكن ليس السمتين rel="noopener" أو rel="noreferrer".
  2. احرص على استبعاد أي روابط للمضيف نفسه.

وبما أنّ أداة Lighthouse تستبعد روابط المضيف نفسه، هناك حالة قصوى يجب أن تكون على دراية بها إذا كنت تعمل على موقع إلكتروني كبير: إذا كانت إحدى الصفحات تحتوي على رابط target="_blank" يؤدي إلى صفحة أخرى على موقعك الإلكتروني بدون استخدام rel="noopener"، إلا أن آثار الأداء لعملية التدقيق هذه لا تزال سارية. ومع ذلك، لن تظهر لك هذه الروابط في نتائج Lighthouse.

كيفية تحسين أداء موقعك الإلكتروني ومنع الثغرات الأمنية

إضافة rel="noopener" أو rel="noreferrer" على كل رابط محدّد في تقرير Lighthouse بشكل عام، عند استخدام target="_blank"، يتم دائمًا إضافة rel="noopener" أو rel="noreferrer":

<a href="https://examplepetstore.com" target="_blank" rel="noopener">
  Example Pet Store
</a>
  • يمنع rel="noopener" الصفحة الجديدة من أن للوصول إلى خاصية window.opener ويضمن أن يعمل في عملية منفصلة.
  • تُحدِث "rel="noreferrer"" التأثير نفسه ولكنه يمنع أيضًا عنوان Referer من إرسال الإعلان إلى الصفحة الجديدة راجِع نوع الرابط "noreferrer".

يُرجى الاطّلاع على مشاركة الموارد المشتركة المنشأ بأمان. المنشور للحصول على المزيد من المعلومات.

الموارد