عند الربط بصفحة على موقع إلكتروني آخر باستخدام السمة target="_blank"
،
يمكن أن تعرّض موقعك الإلكتروني لمشاكل في الأداء والأمان:
- وقد يتم تشغيل الصفحة الأخرى في العملية نفسها التي يتم بها تشغيل صفحتك. إذا كانت الصفحة الأخرى تُشغّل الكثير من JavaScript، فقد يؤثر ذلك سلبًا على أداء صفحتك.
- يمكن للصفحة الأخرى الوصول إلى كائن
window
باستخدام السمةwindow.opener
. وقد يسمح هذا للصفحة الأخرى بإعادة توجيه صفحتك إلى عنوان URL ضار.
جارٍ إضافة rel="noopener"
أو rel="noreferrer"
إلى روابط target="_blank"
لتجنُّب هذه المشاكل.
أسباب تعذُّر تدقيق الوجهة من مصادر متعددة في Lighthouse
تُبلِغ Lighthouse الروابط غير الآمنة المؤدية إلى وجهات متعددة المصادر:
تستخدم أداة Lighthouse العملية التالية لتحديد الروابط غير الآمنة:
- جمع كل علامات
<a>
التي تحتوي على السمةtarget="_blank"
ولكن ليس السمتينrel="noopener"
أوrel="noreferrer"
. - احرص على استبعاد أي روابط للمضيف نفسه.
وبما أنّ أداة 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".
يُرجى الاطّلاع على مشاركة الموارد المشتركة المنشأ بأمان. المنشور للحصول على المزيد من المعلومات.