IFRAME के लिए सामग्री, सुरक्षा और डिज़ाइन विशेषताएँ
तत्व आपको अन्य वेब पृष्ठों को सीधे अपने वेब पेज में एम्बेड करने की अनुमति देता है। लेकिन iframes का उपयोग करते समय कुछ सुरक्षा और डिज़ाइन समस्याएं हैं जिन्हें HTML 4.01 में संबोधित नहीं किया गया था। एचटीएमएल 5 इन चिंताओं को हल करने में मदद के लिए इस तत्व में तीन नए गुण लाता है:
सैंडबॉक्स विशेषता
आईएफआरएएम तत्व की सैंडबॉक्स विशेषता आईफ्रेम की एक बहुत ही उपयोगी सुरक्षा सुविधा है। जब आप इसे IFRAME तत्व में रखते हैं, तो आप उपयोगकर्ता एजेंट को उन सुविधाओं को अस्वीकार करने का निर्देश दे रहे हैं जो साइट और उसके उपयोगकर्ताओं को सुरक्षा जोखिम का कारण बन सकते हैं।
उदाहरण के लिए:
ब्राउजर को उन सभी सुविधाओं को अस्वीकार करने के लिए कहता है जो सुरक्षा जोखिम हो सकते हैं। विशेष रूप से, प्लगइन अस्वीकृत हैं। फॉर्म जमा नहीं किए जा सकते हैं। स्क्रिप्ट्स नहीं चलेंगे और IFRAME के बाहर लिंक की अनुमति नहीं है। अंत में, कुकीज़, स्थानीय संग्रहण और उसी डोमेन (मूल) के अन्य पृष्ठों तक पहुंच की अनुमति नहीं है।
फिर, सैंडबॉक्स कीवर्ड मानों का उपयोग करके, आप कुछ विशेषताओं को पुनः सक्षम कर सकते हैं। ये कीवर्ड हैं:
- फॉर्म-फॉर्म-फॉर्म फॉर्म जमा करें
- एक ही मूल डोमेन से कुकीज जैसी सामग्री तक पहुंचने के लिए स्क्रिप्ट-वैसे-मूल-स्क्रिप्ट को अनुमति दें
- अनुमति-स्क्रिप्ट- इस IFRAME में चलाने के लिए स्क्रिप्ट चलाएं
- अनुमति-शीर्ष-नेविगेशन- IFRAME लिंक और स्क्रिप्ट को _top लक्ष्य पर दिखाएं
एक ही IFRAME पर अनुमति-स्क्रिप्ट और अनुमति-समान-मूल कीवर्ड दोनों को सेट करना एक अच्छा विचार नहीं है। यदि आप ऐसा करते हैं, तो एम्बेडेड पेज तब किसी भी सुरक्षा लाभ को अस्वीकार करते हुए सैंडबॉक्स विशेषता को पूरी तरह हटा सकता है।
Srcdoc विशेषता
Srcdoc विशेषता एक विशेषता है जो वेब डिज़ाइनर को iframes के साथ-साथ अधिक सुरक्षा पर अधिक नियंत्रण देती है। एक अलग यूआरएल पर किसी वेब पेज से जोड़ने के बजाय, वेब डिज़ाइनर HTML को रखता है जो srcdoc विशेषता के अंदर IFRAME में प्रदर्शित होता है।
सबसे पहले, आप सोच रहे होंगे, "यह पृष्ठ में HTML को सही रखने से अलग कैसे है?" और कुछ मायनों में, यह बहुत अलग नहीं है।
लेकिन आपको IFRAME तत्व के कार्यों में से एक को ध्यान में रखना होगा, जो अविश्वसनीय डेटा को शेष साइट से अलग रखना है।
एक अविश्वसनीय स्रोत द्वारा बनाए गए एचटीएमएल को रखकर, जैसे एक फॉर्म, एक आईएफआरएएम में आप अविश्वसनीय सामग्री को "सैंडबॉक्स" कर सकते हैं और फिर भी इसे पृष्ठ पर प्रदर्शित कर सकते हैं। ब्लॉग टिप्पणियां एक उदाहरण हैं। अधिकांश ब्लॉगों में केवल सीमित संख्या में HTML टैग कमेंटर्स उनकी टिप्पणियों में उपयोग कर सकते हैं। लेकिन srcdoc विशेषता का उपयोग करके उन टिप्पणियों को सैंडबॉक्स किए गए IFRAME में रखकर, साइट को पूरी तरह से सुरक्षित करते हुए टिप्पणियां अधिक मजबूत हो सकती हैं।
सुरक्षा और इफ्रेम
उपरोक्त दो विशेषताएँ आपके IFRAME तत्वों के लिए सुरक्षा प्रदान करती हैं, लेकिन वे सभी दुर्भावनापूर्ण साइटों के विरुद्ध प्रमाण नहीं हैं। यदि दुर्भावनापूर्ण साइट किसी उपयोगकर्ता को शत्रुतापूर्ण सामग्री तक पहुंचने के लिए सीधे समझ सकती है (जैसे कि उनके ब्राउज़र में यूआरएल टाइप करके) पर हमला किया जा सकता है।
यदि संभव हो तो सैंडबॉक्स किए गए IFRAME में मौजूद सामग्री को टेक्स्ट / html-sandboxed MIME प्रकार के रूप में सेट करना सबसे अच्छा है।
निर्बाध विशेषता
निर्बाध विशेषता एक बुलियन विशेषता है जो ब्राउज़र को IFRAME प्रदर्शित करने के लिए कहती है जैसे कि यह मूल दस्तावेज़ का हिस्सा था। यदि आप अपने IFRAME को निर्बाध रूप से प्रदर्शित करना चाहते हैं, तो तत्व में इस विशेषता को शामिल करें:
लेकिन आईएफआरएएम सीमलेस को सिर्फ दिखने से ज्यादा है, यह भी है कि पृष्ठ फ्रेम के साथ कैसे इंटरैक्ट करता है। उदाहरण के लिए:
- IFRAME में लिंक मूल विंडो में खुल जाएंगे, जब तक कि IFRAME पृष्ठ का लक्ष्य _SELF सेट न हो।
- IFRAME में सीएसएस को पूरे दस्तावेज़ के कैस्केड में जोड़ा जाएगा।
- IFRAME पृष्ठ का मूल तत्व IFRAME का बच्चा माना जाता है।
- IFRAME की चौड़ाई और ऊंचाई समान रूप से सेट की जाती है कि अन्य ब्लॉक-स्तरीय तत्व कैसे सेट किए जाएंगे।
- जब अभिभावक दस्तावेज़ को एक स्क्रीन रीडर जैसे भाषण प्रतिपादन उपकरण द्वारा देखा जाता है, तो IFRAME इसे एक अलग दस्तावेज़ के रूप में घोषित किए बिना पढ़ा जाएगा।
- मूल दस्तावेज़ पर कोई भी स्क्रिप्ट आईएफआरएएम दस्तावेज़ को उसी तरह प्रभावित करेगी। उदाहरण के लिए, यदि किसी स्क्रिप्ट ने पृष्ठ पर सभी फ़्रेम सूचीबद्ध किए हैं, तो IFRAME में लिंक भी सूचीबद्ध होंगे।
दूसरे शब्दों में, निर्बाध विशेषता IFRAME से सीमाओं को हटाने से कहीं अधिक है। यदि आप एक आईएफआरएएम को निर्बाध होने जा रहे हैं, तो आपको सामग्री के बारे में बहुत यकीन होना चाहिए ताकि आप किसी दुर्भावनापूर्ण साइट को एम्बेड करके अपनी वेबसाइट पर कोई सुरक्षा जोखिम न जोड़ सकें।