& < > " '। विस्तारित इसके अतिरिक्त सभी गैर-ASCII वर्णों को एन्कोड करता है। नामित entities (&), दशमलव (&) या hexadecimal (&) के बीच चुनें। यह कैसे काम करता है
HTML एंटिटी उन वर्णों को दर्शाती हैं जिनका मार्कअप में विशेष अर्थ होता है (< > & " ') या जो ASCII नहीं हैं, <, & या © जैसे अनुक्रमों के माध्यम से। इस तरह ब्राउज़र उन्हें कोड के रूप में व्याख्यायित करने के बजाय टेक्स्ट के रूप में दिखाता है।
तीन समतुल्य फ़ॉर्मैट हैं: नामित (©), दशमलव (©) और हेक्साडेसिमल (©)। तीनों एक ही वर्ण उत्पन्न करते हैं; नामित अधिक पठनीय है पर केवल एक ज्ञात समुच्चय के लिए मौजूद है।
"आवश्यक" स्कोप केवल उन वर्णों को एस्केप करता है जो HTML को तोड़ते हैं (& < > " '); "सभी" स्कोप इसके अलावा किसी भी गैर-ASCII वर्ण को भी एस्केप करता है।
उदाहरण
<a href="#"><a href="#">एस्केप करने से ब्राउज़र टैग की व्याख्या नहीं करता और उन्हें टेक्स्ट के रूप में दिखाता है।5 < 10 & 3 > 15 < 10 & 3 > 1© 2024 · €© 2024 · €"सभी" स्कोप और नामित फ़ॉर्मैट के साथ। दशमलव में ये © और € होंगे; हेक्साडेसिमल में © और €।उपयोग के मामले
- किसी पेज पर HTML कोड को टेक्स्ट के रूप में दिखाना (उदाहरण, दस्तावेज़) बिना उसे रेंडर हुए।
- XSS रोकने के लिए उपयोगकर्ता इनपुट को HTML में डालने से पहले एस्केप करना।
- विशेष प्रतीकों (©, €, →, ½) को एन्कोडिंग के बीच पोर्टेबल रूप से सम्मिलित करना।
- किसी पेज के सोर्स कोड से कॉपी किए गए एंटिटी वाले टेक्स्ट को डिकोड करना।
अक्सर पूछे जाने वाले प्रश्न
कौन-सा फ़ॉर्मैट बेहतर है: नामित, दशमलव या हेक्साडेसिमल?
नामित (©) सबसे पठनीय है, पर केवल परिभाषित नाम वाले वर्णों को कवर करता है। दशमलव (©) और हेक्साडेसिमल (©) किसी भी Unicode वर्ण के लिए काम करते हैं, इसलिए असामान्य प्रतीकों के लिए ये सुरक्षित विकल्प हैं।
क्या एंटिटी एन्कोड करने से XSS हमले रुकते हैं?
यह एक महत्वपूर्ण हिस्सा है, पर एस्केपिंग संदर्भ के अनुसार होनी चाहिए (HTML सामग्री, विशेषता, JavaScript या URL)। केवल एक परत पर भरोसा न करें: फ़्रेमवर्क की सुरक्षा का भी उपयोग करें।
कौन-से वर्ण हमेशा एस्केप करने चाहिए?
सामग्री में & < और >, और इसके अलावा विशेषता मानों के भीतर " और '. "आवश्यक" स्कोप ठीक इसी समुच्चय को कवर करता है।
क्या मेरा टेक्स्ट किसी सर्वर को भेजा जाता है?
नहीं। एन्कोडिंग और डिकोडिंग पूरी तरह आपके ब्राउज़र में होती है।