क्रॉस-ऑरिजिन डेस्टिनेशन के लिंक असुरक्षित होते हैं

जब target="_blank" एट्रिब्यूट का इस्तेमाल करके, किसी दूसरी साइट पर किसी पेज को लिंक किया जाता है, तो आपकी साइट की परफ़ॉर्मेंस और सुरक्षा से जुड़ी समस्याएं आ सकती हैं:

  • दूसरा पेज उसी प्रोसेस पर चल सकता है जिस पर आपका पेज चल सकता है. अगर दूसरे पेज पर बहुत ज़्यादा JavaScript चल रही है, आपके पेज के काम करने के तरीके पर असर पड़ सकता है.
  • दूसरा पेज, window.opener प्रॉपर्टी की मदद से आपके window ऑब्जेक्ट को ऐक्सेस कर सकता है. इससे दूसरे पेज को आपके पेज को नुकसान पहुंचाने वाले यूआरएल पर रीडायरेक्ट करने की अनुमति मिल सकती है.

rel="noopener" या rel="noreferrer" जोड़ा जा रहा है के target="_blank" लिंक इन समस्याओं से बच सकते हैं.

लाइटहाउस क्रॉस-ऑरिजिन डेस्टिनेशन का ऑडिट कैसे फ़ेल हो जाता है

Lighthouse, क्रॉस-ऑरिजिन डेस्टिनेशन के असुरक्षित लिंक को फ़्लैग करता है:

लाइटहाउस ऑडिट में, क्रॉस-ऑरिजिन डेस्टिनेशन के असुरक्षित लिंक दिखाए गए हैं

लाइटहाउस इस प्रोसेस का इस्तेमाल करके, लिंक को असुरक्षित के तौर पर पहचानता है:

  1. target="_blank" एट्रिब्यूट वाले सभी <a> टैग इकट्ठा करें लेकिन rel="noopener" या rel="noreferrer" एट्रिब्यूट नहीं.
  2. एक ही होस्ट वाले किसी भी लिंक को फ़िल्टर करें.

लाइटहाउस एक ही होस्ट वाले लिंक को फ़िल्टर कर देता है. अगर कोई बड़ी साइट है, तो आपको इसके बारे में पता होना चाहिए: अगर किसी पेज पर आपकी साइट के किसी दूसरे पेज का target="_blank" लिंक है, लेकिन rel="noopener" का इस्तेमाल नहीं किया गया है, तो इस ऑडिट के नतीजे अब भी लागू होंगे. हालांकि, आपको लाइटहाउस के नतीजों में ये लिंक नहीं दिखेंगे.

अपनी साइट की परफ़ॉर्मेंस को बेहतर करने और उसमें सुरक्षा से जुड़े जोखिमों को रोकने का तरीका

rel="noopener" या rel="noreferrer" जोड़ें आपके लाइटहाउस रिपोर्ट में पहचाने गए हर लिंक के लिए उसका इस्तेमाल किया जाता है. आम तौर पर, जब आप 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" देखें.

क्रॉस-ऑरिजिन संसाधनों को सुरक्षित तरीके से शेयर करें लेख पढ़ें पोस्ट देखें.

संसाधन