تمويه النقر هو هجوم ضارّ يتم فيه خداع المستخدمين من أجل النقر على روابط أو عناصر واجهة مستخدم على موقع إلكتروني يبدو أنّه موقع إلكتروني موثوق به ومألوف. ويتم عادةً تنفيذ ذلك من خلال تضمين جزء من الموقع الإلكتروني الموثوق به أو كلّه في الموقع الإلكتروني الضار باستخدام <iframe>
.
يمكن أن يخفّف عنوان X-Frame-Options
(XFO) وتوجيه frame-ancestors
في عنوان Content-Security-Policy
(CSP) من هجمات التلاعب بالنقرات من خلال التحكّم في كيفية تضمين موقع إلكتروني في <iframe>
.
أسباب تعذُّر إكمال عملية تدقيق Lighthouse
ستجتاز عملية التدقيق إذا تم ضبط عنوان XFO باستخدام SAMEORIGIN
أو DENY
، أو تم ضبط التوجيه frame-ancestors
على عنوان CSP. لن تنجح عملية التدقيق في حال عدم ضبط أيٍّ من سياستَي التحكّم في الإطارات.
كيفية ضبط سياسة التحكّم في الإطارات للحدّ من هجمات التلاعب بالنقرات
يجب ضبط سياسة التحكّم في الإطارات على رؤوس HTTP لطلب المستند الأوّلي. لن يعمل العنوان X-Frame-Options
وتوجيه frame-ancestors
في Content-Security-Policy
إذا تم ضبطهما على عنصر <meta>
.
عنوان XFO
سيؤدي ضبط DENY
أو SAMEORIGIN
لعنوان XFO إلى الحد من هجمات التلاعب بالنقرات:
X-Frame-Options: SAMEORIGIN
X-Frame-Options: DENY
لا يسمح توجيه SAMEORIGIN
بعرض الصفحة إلا إذا كانت جميع الإطارات الأصل تشترك في المصدر نفسه للصفحة نفسها. في المقابل، يمنع التوجيه DENY
عرض الصفحة في إطار، بغض النظر عن مصدر الإطار الرئيسي.
عنوان CSP
يحدِّد التوجيه frame-ancestors
ضمن عنوان CSP المواقع الإلكترونية التي يمكنها تضمين الصفحة المحدّدة في <frame>
أو <iframe>
أو <object>
أو <embed>
. على غرار XFO، يمكن استخدام توجيه CSP frame-ancestors
للحدّ من هجمات clickjacking من خلال ضبطه على self
أو none
:
Content-Security-Policy: frame-ancestors 'self';
Content-Security-Policy: frame-ancestors 'none';
ومع ذلك، يكون توجيه frame-ancestors
أكثر مرونة من XFO لأنّه يمكنه ضبط مصادر رئيسية محدّدة قد تضمّن الصفحة:
Content-Security-Policy: frame-ancestors 'self' https://example.com;