दस्तावेज़ को आइसोलेट करने की नीति: आसानी से वेब की बेहतर सुविधाएं चालू करना

Camille Lamy
Camille Lamy

पब्लिश होने की तारीख: 1 मई, 2025

Chrome 137 से, दस्तावेज़ को अलग रखने की नीति एक नई सुविधा है. इससे crossOriginIsolation को आसानी से अपनाया जा सकता है. सीओईपी (Cross-Origin-Embedder-Policy) के उलट, दस्तावेज़ को अलग रखने की नीति हर फ़्रेम पर लागू होती है. साथ ही, इसमें सब-फ़्रेम की ज़रूरत नहीं होती. crossOriginIsolation को चालू करने पर, दस्तावेज़ आइसोलेशन नीति की मदद से, SharedArrayBuffers या WebAssembly थ्रेड जैसी बेहतर वेब सुविधाओं का ऐक्सेस मिलता है.

क्रॉस-ऑरिजिन आइसोलेशन क्या है?

क्रॉस-ऑरिजिन आइसोलेशन, ब्राउज़र की प्रोसेस में किसी दस्तावेज़ और उससे मिलते-जुलते ऑरिजिन के बीच एक तय सीमा तय करता है. इससे दस्तावेज़ को ग्रुप करने से रोका जा सकता है. साथ ही, अलग-अलग सोर्स के दस्तावेज़ों के साथ संसाधन या जानकारी शेयर करने से भी रोका जा सकता है. क्रॉस-ऑरिजिन आइसोलेशन की सुविधा, इस बात की पुष्टि करके ऐसा करती है कि ऑरिजिन को उसकी अपनी प्रोसेस में लोड किया जा सकता है. भले ही, ब्राउज़र इंजन में साइट आइसोलेशन या क्रॉस-ऑरिजिन आइसोलेशन की सुविधा डिफ़ॉल्ट रूप से काम करती हो या नहीं. इससे सपेकुलेटिव एक्ज़ीक्यूशन (ऐसेट का अनुमानित इस्तेमाल) के हमलों से बचाने में मदद मिलती है. जैसे, Spectre.

दस्तावेज़ को अलग रखने की नीति क्या है?

दस्तावेज़ को अलग रखने की नीति, crossOriginIsolation को लागू करने का आसान तरीका उपलब्ध कराती है. यह तरीका, COOP (Cross-Origin-Opener-Policy) और COEP (Cross-Origin-Embedder-Policy) की तुलना में ज़्यादा आसान है. इससे हर फ़्रेम के हिसाब से आइसोलेशन की सुविधा मिलती है. साथ ही, सीओईपी के साथ काम करने के लिए, एम्बेड किए गए इंटरस्टीशियल फ़्रेम की ज़रूरत नहीं पड़ती.

दस्तावेज़ को अलग करने की नीति कैसे काम करती है

दस्तावेज़ को अलग करने की नीति की मदद से, वेब ऐप्लिकेशन में मौजूद कुछ फ़्रेम को अलग किया जा सकता है. अपने दस्तावेज़ के साथ Document-Isolation-Policy हेडर भेजने पर, दस्तावेज़ को SharedArrayBuffers जैसी बेहतर सुविधाओं का ऐक्सेस मिलता है. सुरक्षा से जुड़ी समस्याओं की वजह से, इन सुविधाओं को ऐक्सेस करने पर पाबंदी होती है. COOP और COEP के उलट, दस्तावेज़ को अलग रखने की नीति, उन पेजों पर पाबंदी नहीं लगाती जिनसे दस्तावेज़ को जानकारी मिल सकती है या उन चाइल्ड फ़्रेम पर जिन्हें दस्तावेज़ में एम्बेड किया जा सकता है. दस्तावेज़ को अलग रखने की नीति वाले दस्तावेज़, क्रॉस-ऑरिजिन पॉप-अप खोल सकते हैं और उनसे इंटरैक्ट कर सकते हैं. वे किसी भी iframe को सामान्य तरीके से भी जोड़ सकते हैं.

दस्तावेज़ को अलग रखने की नीति, सीओईपी की तरह ही होती है. इसमें दो मोड होते हैं: isolate-and-require-corp और isolate-and-credentialless. ये मोड यह तय करते हैं कि क्रॉस-ऑरिजिन रिसॉर्स शेयरिंग (सीओआरएस) के बिना लोड किए गए क्रॉस-ऑरिजिन सब-रिसॉर्स को कैसे मैनेज किया जाए. isolate-and-require-corp मोड में, क्रॉस-ऑरिजिन रिसॉर्स के लिए, Cross-Origin-Resource-Policy हेडर का इस्तेमाल करके, क्रॉस-ऑरिजिन रिसॉर्स नीति के बारे में साफ़ तौर पर बताना ज़रूरी है. ऐसा न करने पर, उन्हें ब्लॉक कर दिया जाता है. इससे यह पक्का होता है कि रिसॉर्स को जान-बूझकर शेयर किया गया है. इसके उलट, isolate-and-credentialless मोड में क्रॉस-ऑरिजिन रिसोर्स को CORS हेडर के बिना लोड किया जा सकता है. हालांकि, रिक्वेस्ट से किसी भी क्रेडेंशियल (जैसे, कुकी या एचटीटीपी की पुष्टि) को हटा दिया जाता है. इससे, रिसोर्स को गुमनाम माना जाता है. यह मोड, सीओआरएस से जुड़े संसाधनों को मैनेज करने के लिए, कम पाबंदियों वाला, लेकिन सुरक्षित तरीका उपलब्ध कराता है.

दस्तावेज़ को अलग करने की नीति की मदद से अलग किए गए iframe, एक ही ऑरिजिन के उन iframe के साथ सिंक नहीं होते जिन्हें अलग नहीं किया गया है. हालांकि, ये अलग किए गए postMessage जैसे क्रॉस-ऑरिजिन Window तरीकों का इस्तेमाल करके, अब भी अलग नहीं किए गए फ़्रेम के साथ कम्यूनिकेट कर सकते हैं. इसके अलावा, उनके पास स्टोरेज एपीआई का पूरा ऐक्सेस होता है. इससे, डेटा को एक ही ऑरिजिन में सेव करने और शेयर करने की सुविधा मिलती है. ऐसा तब भी किया जा सकता है, जब डेटा को अलग-अलग रखना चालू हो.