HTML एंटिटी एन्कोडर कैसे इस्तेमाल करें
- वह टेक्स्ट पेस्ट करें जो HTML में डाला जाएगा।
- एट्रिब्यूट वैल्यू के लिए कोट्स वाला विकल्प चालू रखें।
- अपने लक्ष्य के अनुसार एंटिटी स्टाइल चुनें।
- एस्केप किया हुआ आउटपुट कॉपी करें।
HTML एंटिटी एन्कोडर की खूबियाँ
- एलिमेंट कंटेंट और एट्रिब्यूट में XSS रोकने के लिए & < > " ' एस्केप करता है
- नामित एंटिटी (©), दशमलव (©) या हेक्साडेसिमल (©) स्टाइल
- चाहें तो सारे ग़ैर-ASCII कैरेक्टर, या हर कैरेक्टर एन्कोड करें
- जिन कैरेक्टर का कोई नाम नहीं है, उनके लिए नामित मोड न्यूमेरिक रेफ़रेंस पर लौट आता है
- एंटिटी की गिनती के साथ लाइव आउटपुट
HTML एंटिटी एन्कोडर का उदाहरण
यूज़र इनपुट को सुरक्षित बनाना
इनपुट:
<script>alert("Tom & Jerry")</script>आउटपुट:
<script>alert("Tom & Jerry")</script>HTML एंटिटी एन्कोडर के बारे में अक्सर पूछे जाने वाले सवाल
XSS रोकने के लिए कौन-से कैरेक्टर एस्केप करना ज़रूरी है?
कम से कम &, < और > तथा एट्रिब्यूट वैल्यू के भीतर कोट्स " और '। टूल डिफ़ॉल्ट रूप से पाँचों एन्कोड करता है, जो PHP के htmlspecialchars को ENT_QUOTES के साथ इस्तेमाल करने जैसा ही है।
नामित, दशमलव या हेक्साडेसिमल एंटिटी?
तीनों ब्राउज़र में एक जैसी रेंडर होती हैं। नामित एंटिटी (©) पढ़ने में आसान हैं; न्यूमेरिक (© या ©) XML/XHTML में भी चलती हैं, जहाँ सिर्फ़ पाँच पूर्वनिर्धारित नामों की गारंटी है। जिन कैरेक्टर का नाम नहीं होता, उनके लिए नामित मोड न्यूमेरिक रूप पर लौट आता है।
ग़ैर-ASCII कैरेक्टर कब एन्कोड करने चाहिए?
सिर्फ़ तब जब डॉक्यूमेंट बिना UTF-8 charset के परोसा जा सकता हो, या ऐसे सिस्टम से गुज़रता हो जो यूनिकोड बिगाड़ देते हैं। आधुनिक UTF-8 पेज में अरबी, इमोजी और एक्सेंट सीधे रखे जा सकते हैं।
क्या यूज़र इनपुट सुरक्षित बनाने के लिए HTML एस्केपिंग काफ़ी है?
यह टेक्स्ट को एलिमेंट कंटेंट और कोट किए गए एट्रिब्यूट के भीतर सुरक्षित बनाती है। URL, JavaScript या CSS के भीतर रखी जाने वाली वैल्यू के लिए उनके संदर्भ के अनुसार अलग एन्कोडिंग भी करनी पड़ती है।
तकनीकी नोट्स
एन्कोडिंग कैरेक्टर को HTML Living Standard में परिभाषित कैरेक्टर रेफ़रेंस से बदल देती है। U+0080–U+009F रेंज के कंट्रोल कैरेक्टर हमेशा न्यूमेरिक रूप में लिखे जाते हैं, क्योंकि उनका कोई छपने योग्य रूप नहीं होता। अंदरूनी नाम-तालिका रोज़मर्रा में इस्तेमाल होने वाली लगभग 250 एंटिटी कवर करती है; बाकी सब न्यूमेरिक रेफ़रेंस के रूप में दिया जाता है, जिसे हर ब्राउज़र समझता है।