XFO या सीएसपी की मदद से, क्लिक जैकिंग को कम करना

क्लिकजैकिंग एक नुकसान पहुंचाने वाला हमला है. इसमें उपयोगकर्ताओं को धोखा देकर, किसी ऐसी साइट के लिंक या यूज़र इंटरफ़ेस (यूआई) एलिमेंट पर क्लिक करने के लिए कहा जाता है जो भरोसेमंद और जाना-पहचाना लगती है. आम तौर पर, ऐसा <iframe> का इस्तेमाल करके, भरोसेमंद साइट के कुछ हिस्से या पूरी साइट को नुकसान पहुंचाने वाली साइट में एम्बेड करके किया जाता है.

Content-Security-Policy (सीएसपी) हेडर में मौजूद X-Frame-Options (XFO) हेडर और frame-ancestors डायरेक्टिव, क्लिक जैकिंग के हमलों को कम कर सकते हैं. ऐसा करने के लिए, वे यह कंट्रोल करते हैं कि किसी साइट को <iframe> में कैसे एम्बेड किया जा सकता है.

Lighthouse ऑडिट पूरा न होने की वजहें

अगर XFO हेडर को SAMEORIGIN या DENY के साथ सेट किया गया है या सीएसपी हेडर पर frame-ancestors डायरेक्टिव सेट किया गया है, तो ऑडिट पास हो जाएगा. अगर फ़्रेम कंट्रोल की इन दोनों नीतियों में से किसी को भी कॉन्फ़िगर नहीं किया गया है, तो ऑडिट पूरा नहीं हो पाएगा.

Lighthouse रिपोर्ट में चेतावनी दी गई है कि क्लिक जैकिंग को कम करने के लिए, कोई सीएसपी या XFO रिस्पॉन्स हेडर नहीं मिला.
Lighthouse रिपोर्ट में चेतावनी दी गई है कि क्लिक जैकिंग को कम करने के लिए, कोई CSP या XFO रिस्पॉन्स हेडर नहीं मिला.

क्लिक जैकिंग को कम करने के लिए, फ़्रेम कंट्रोल की नीति सेट करने का तरीका

दस्तावेज़ के शुरुआती अनुरोध के एचटीटीपी हेडर पर, फ़्रेम कंट्रोल की नीति सेट की जानी चाहिए. Content-Security-Policy में मौजूद X-Frame-Options हेडर और frame-ancestors डायरेक्टिव, <meta> एलिमेंट पर सेट होने पर काम नहीं करेंगे.

XFO हेडर

XFO हेडर के लिए DENY या SAMEORIGIN सेट करने पर, क्लिक जैकिंग के हमलों को कम किया जा सकता है:

X-Frame-Options: SAMEORIGIN
X-Frame-Options: DENY

SAMEORIGIN डायरेक्टिव, पेज को सिर्फ़ तब दिखाने की अनुमति देता है, जब सभी पैरंट फ़्रेम का ऑरिजिन, पेज के ऑरिजिन से मेल खाता हो. इसके उलट, DENY डायरेक्टिव पेज को फ़्रेम में दिखने से रोकता है. भले ही, पैरंट फ़्रेम का ऑरिजिन कुछ भी हो.

सीएसपी हेडर

सीएसपी हेडर में मौजूद frame-ancestors डायरेक्टिव से यह तय होता है कि कौनसी साइटें, दिए गए पेज को <frame>, <iframe>, <object> या <embed> में एम्बेड कर सकती हैं. XFO की तरह ही, सीएसपी frame-ancestors डायरेक्टिव का इस्तेमाल, क्लिक जैकिंग के हमलों को कम करने के लिए किया जा सकता है. इसके लिए, इसे 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;

संसाधन