HTML निकाय क्या हैं

हाइपरटेक्स्ट मार्कअप लैंग्वेज, या एचटीएमएल, इंटरनेट पर वेब पेजों के लिए प्राथमिक भाषा है। इसमें कई अन्य भाषाओं के लिए समर्थन शामिल है जो अतिरिक्त कार्यक्षमता और स्टाइलिंग जैसे कि जावास्क्रिप्ट और सीएसएस जोड़ते हैं। ये सभी भाषाएं टेक्स्ट-आधारित हैं जिनमें कुछ अर्थपूर्ण वर्ण हैं जिनका उपयोग शाब्दिक स्ट्रिंग्स को अलग करने के लिए किया जाता है जिन्हें ब्राउज़र और कोड पर मुद्रित किया जाना चाहिए जिसे व्याख्या और निष्पादित किया जाना चाहिए।

हालांकि इस डिज़ाइन में कुछ समस्याएं हैं, ये तब स्पष्ट हो जाती हैं जब आप ब्राउज़र में किसी एक अर्थपूर्ण वर्ण को प्रिंट करना चाहते हैं। उपयोग करने के लिए सबसे अच्छा उदाहरण वर्ण "इससे कम" और "इससे अधिक" प्रतीक हैं। क्रमशः इन प्रतीकों का उपयोग HTML में कोड खंडों को खोलने और बंद करने के लिए किया जाता है। इन वर्णों को स्क्रीन पर सुरक्षित रूप से प्रिंट करने का सही तरीका HTML निकायों का उपयोग करना है।

HTML निकाय और सुरक्षा

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

युक्ति: XSS भेद्यताएं खोजने के प्रयास में वेबसाइटों पर विशेष वर्ण सबमिट करने का प्रयास न करें। ऐसा करना तकनीकी रूप से हैकिंग है और एक आपराधिक अपराध है जब तक कि आपके पास वेबसाइट के मालिक की अनुमति न हो।

HTML निकाय कैसे काम करते हैं (और कभी-कभी नहीं भी)

HTML निकाय काम करते हैं क्योंकि ब्राउज़र इसे प्रासंगिक विशेष वर्ण के रूप में प्रदर्शित करना जानता है और इसे विशेष वर्ण के रूप में नहीं मानता है। सभी HTML निकाय एक एम्परसेंड “&” से शुरू होते हैं और एक सेमी-कोलन “;” के साथ समाप्त होते हैं। अधिकांश वर्णों को एक इकाई संख्या द्वारा पहचाना जाता है, हालांकि कुछ विशेष वर्णों का एक संक्षिप्त नाम भी होता है। उदाहरण के लिए "&", "" में इकाई संख्याएं "&", "" के साथ-साथ इकाई नाम "&", "" हैं। ब्राउज़र जानता है कि इन स्ट्रिंग्स का मतलब है कि उसे प्रासंगिक वर्ण प्रदर्शित करने की आवश्यकता है।

युक्ति: चरित्र इकाई नामों की पूरी सूची मिल सकती है यहां, हालांकि इकाई नाम समर्थन ब्राउज़र द्वारा भिन्न होता है।

अधिकांश मामलों में, उपयोगकर्ताओं को केवल वही वर्ण देखने चाहिए जो HTML निकाय दर्शाते हैं। हालाँकि, एन्कोडेड वर्णों को देखना संभव है, आमतौर पर एम्परसेंड "&", "डबल एन्कोडिंग" नामक प्रक्रिया के माध्यम से। ऐसा तब होता है जब एम्परसेंड वर्ण अपने स्वयं के एन्कोडेड संस्करण में प्रकट होता है। डबल एन्कोडिंग आम तौर पर तब होती है जब इनपुट सही ढंग से एन्कोड किया जाता है, जैसा कि इसे सबमिट किया जाता है, हालांकि, जब इसे आउटपुट किया जा रहा होता है तो यह फिर से साफ हो जाता है। इसके परिणामस्वरूप एम्परसेंड "&" की शुरुआत में दूसरी बार एन्कोड हो रहा है और फिर ब्राउज़र "&" के रूप में दिखाई दे रहा है सही ढंग से व्याख्या करता है कि एक स्ट्रिंग के रूप में जिसे "&" के रूप में मुद्रित किया जाना चाहिए, HTML इकाई को डीकोड किया और आंशिक कंपनी।