डेवलपर टूल · HTML इकाई एस्केपर
HTML में आपको जिन पांच वर्णों से बचना होगा और उनमें से प्रत्येक खतरनाक क्यों है
· यह काम किस प्रकार करता है
HTML एन्कोडिंग सुरक्षा
HTML एस्केपिंग पांच वर्णों तक सीमित हो जाती है: & < > " और '। यह पोस्ट मार्कअप में प्रत्येक की भूमिका के बारे में बताती है, सूची संदर्भ-निर्भर क्यों है, और प्रत्येक के लिए इकाई कैसे चुनी जाती है।
वह टिप्पणी जिसने एक टैग को जल्दी बंद कर दिया - एक भटका हुआ < और > जिसने उपयोगकर्ता के टेक्स्ट को मार्कअप में बदल दिया
वह टिप्पणी जिसने एक टैग को जल्दी बंद कर दिया - एक भटका हुआ < और > जिसने उपयोगकर्ता के टेक्स्ट को मार्कअप में बदल दिया। कार्यान्वयन हमेशा एम्परसेंड, उससे कम, उससे अधिक, दोहरे उद्धरण और एपोस्ट्रोफ को मैप करता है। एपोस्ट्रोफ दशमलव संदर्भ संख्या 39 बन जाता है, जबकि अन्य चार परिचित नामित रूपों का उपयोग करते हैं।
HTML एस्केप वर्णों को सत्यापित करने के लिए, उस टिप्पणी का निर्माण करें जो उपयोगकर्ता द्वारा सबमिट किए गए टेक्स्ट को एक पेज में प्रस्तुत करने वाले डेवलपर के लिए बंद हो जाए। एक टैग को कुछ समय पहले सुरक्षित रखें, पांच-वर्ण नीति भटकाव उत्पन्न करती है और वह बदल जाती है; पहचानें कि उपयोगकर्ता का टेक्स्ट कहां उपयोग किया जाता है। मार्कअप के बारे में अवलोकन केवल HTML पाठ से संबंधित है।
और सबसे पहले, हमेशा - भागने वाले पात्र को ही क्यों बचाना चाहिए और यदि आप इसे छोड़ देते हैं तो क्या होता है
और सबसे पहले, हमेशा - भागने वाले पात्र को ही क्यों बचाना चाहिए और यदि आप इसे छोड़ देते हैं तो क्या होता है। एक एकल कोड-पॉइंट लूप प्रतिस्थापन ऑर्डर बग को रोकता है: पहले के प्रतिस्थापन द्वारा पेश किए गए एम्परसेंड को दोबारा कभी नहीं देखा जाता है, इसलिए एनकोडर उसी पास के दौरान अपने स्वयं के आउटपुट से बच नहीं पाता है।
किसी पेज में उपयोगकर्ता द्वारा सबमिट किए गए पाठ को प्रस्तुत करने वाला डेवलपर हमेशा पहले परीक्षण कर सकता है कि पांच-वर्ण नीति पास होने से पहले एस्केप कैरेक्टर को रिकॉर्ड करना क्यों आवश्यक है। तुलना करें कि बच गए और उसके बाद क्या हुआ और यदि आप छोड़ते हैं तो इसके लिए जिम्मेदार पार्सर का पता लगाएं। यह html एस्केप वर्ण परिणाम इसे समझाता है, निष्पादन योग्य संदर्भ नहीं।
पाठ सामग्री में < और > - टोकननाइज़र कैसे तय करता है कि टैग शुरू हो गया है, और क्यों > को अधिकतर समरूपता के लिए छोड़ दिया जाता है
पाठ सामग्री में < और > - टोकननाइज़र कैसे तय करता है कि टैग शुरू हो गया है, और क्यों > को अधिकतर समरूपता के लिए छोड़ दिया जाता है। HTML टेक्स्ट में कम-से-कम मार्कअप प्रारंभ होता है। ग्रेटर-थान को लगातार एन्कोड किया जाता है, भले ही इसका खतरा पार्सर स्थिति पर निर्भर करता है, जिससे स्निपेट्स टेक्स्ट और उद्धृत विशेषताओं के बीच चलते समय आउटपुट अनुमानित हो जाता है।
पाँच-अक्षर वाले छोटे नीति नमूने में अलग और पाठ्य सामग्री में। दिखाएं कि टोकनाइज़र शाब्दिक स्रोत के रूप में कैसे निर्णय लेता है, एक टैग को उसके गंतव्य तक शुरू करने का पालन करें, और API रीडिंग को नाम दें और क्यों बच गया है। HTML एस्केप वर्णों के लिए, अधिकतर समरूपता के लिए पार्सर-बाउंड साक्ष्य रहता है।
विशेषता मानों में उद्धरण - "और 'और आपके द्वारा उपयोग किया जाने वाला विशेषता सीमांकक यह क्यों तय करता है कि कौन सा महत्वपूर्ण है
विशेषता मानों में उद्धरण - " और ' और आप जिस विशेषता सीमांकक का उपयोग करते हैं वह यह तय करता है कि कौन सा महत्वपूर्ण है। दोनों उद्धरण वर्ण एन्कोड किए गए हैं, भले ही कौन सा सीमांकक एक विशेषता को घेरता है। यह उद्धृत HTML विशेषताओं के लिए रूढ़िवादी है, लेकिन यह विशेषता नाम, योजनाओं या डाउनस्ट्रीम भाषाओं को मान्य नहीं करता है।
विशेषता मानों में उद्धरणों को एक सीमा प्रयोग के रूप में मानें। उपयोगकर्ता द्वारा सबमिट किए गए पाठ को एक पेज में प्रस्तुत करने वाले डेवलपर को एक पांच-वर्ण नीति संचालन को बनाए रखना चाहिए और क्यों, और कौन सा है, यह तय करने से पहले चरित्र द्वारा आपके द्वारा उपयोग किए जाने वाले विशेषता परिसीमन का निरीक्षण करना चाहिए। महत्वपूर्ण के बारे में दावा इस HTML परत पर रुकता है।
कार्यान्वित उदाहरण: सभी पाँचों वाले स्निपेट से बचना - उत्पादित इकाइयाँ और प्रस्तुत परिणाम
कार्यान्वित उदाहरण: सभी पाँचों वाले स्निपेट से बचना - उत्पादित इकाइयाँ और प्रस्तुत परिणाम। इनपुट और < > " एपॉस्ट्रॉफी के लिए, प्रत्येक मोड & < > " ' लौटाता है। साधारण रिक्त स्थान रिक्त स्थान ही रहते हैं और पांच प्रतिस्थापन स्रोत क्रम में दिखाई देते हैं।
ग्राहक सामग्री के बजाय हानिरहित इनपुट के साथ भागने का कार्यशील उदाहरण पुन: प्रस्तुत करें। सभी पांचों वाले स्निपेट को रिकॉर्ड करें, उत्पादित इकाइयों का निरीक्षण करें और प्रत्येक जानबूझकर पांच-वर्ण वाली पॉलिसी पास की गिनती करें। वह HTML एस्केप कैरेक्टर ट्रेल एक डेवलपर को उपयोगकर्ता द्वारा सबमिट किए गए टेक्स्ट को एक पेज में रेंडर करने की सुविधा देता है, बिना अनुमान लगाए रेंडर किए गए परिणाम और पांच-वर्ण नीति साक्ष्य का मूल्यांकन करता है।
नामित बनाम संख्यात्मक रूप - "बनाम" और 'बनाम', और जो पुराने पार्सर्स में सुरक्षित हैं
नामित बनाम संख्यात्मक रूप - "बनाम" और 'बनाम', और जो पुराने पार्सर्स में सुरक्षित हैं। डिकोडर "और संख्यात्मक", प्लस 'और' दोनों को स्वीकार करता है। एनकोडर जानबूझकर अपने दस्तावेजित पोर्टेबिलिटी विकल्प से मेल खाते हुए 'के बजाय' उत्सर्जित करता है।
पाँच-वर्ण नीति समीक्षा के दौरान नामित स्थान बनाम संख्यात्मक रूप, quot बनाम 34 और, और 39 बनाम apos और अगल-बगल। उपयोगकर्ता द्वारा प्रस्तुत पाठ को एक पेज में प्रस्तुत करने वाला डेवलपर यह तय कर सकता है कि रूपांतरण या डाउनस्ट्रीम में कौन सा परिवर्तन सुरक्षित है। पुराने पार्सर्स के बारे में HTML एस्केप कैरेक्टर निष्कर्ष को सामान्य सुरक्षा दावों से बाहर रखें।
इसमें क्या शामिल नहीं है - <script>, ईवेंट हैंडलर या URL के अंदर से बचना, जिसके लिए अलग-अलग नियमों की आवश्यकता होती है
इसमें क्या शामिल नहीं है - <script>, ईवेंट हैंडलर या URL के अंदर से बचना, जिसके लिए अलग-अलग नियमों की आवश्यकता होती है। ये पांच प्रतिस्थापन केवल HTML पाठ और उद्धृत-विशेषता से बचने का वर्णन करते हैं। JavaScript, CSS, SQL और URL घटकों में स्वतंत्र व्याकरण हैं, और कोई इकाई आउटपुट सामान्य सैनिटाइज़र नहीं है।
पाँच-वर्ण नीति चलाने से पहले परिभाषित करें कि यह क्या नहीं करता है। नियंत्रण के रूप में स्क्रिप्ट के अंदर भागने वाले कवर को सहेजें, ईवेंट हैंडलर या URL के पीछे कोड बिंदुओं का निरीक्षण करें, और अगले दुभाषिया के लिए अलग-अलग नियमों की आवश्यकता वाले मानचित्र को मैप करें। यह HTML एस्केप वर्णों की जांच करने वाले पेज में उपयोगकर्ता द्वारा सबमिट किए गए पाठ को प्रस्तुत करने वाले डेवलपर के लिए पांच-वर्ण नीति साक्ष्य को ऑडिट करने योग्य बनाता है।
टेकअवे: HTML टेक्स्ट और उद्धृत विशेषताओं के लिए पांच अक्षर, प्रत्येक पार्सर संदर्भ नहीं
टेकअवे: HTML टेक्स्ट और उद्धृत विशेषताओं के लिए पांच अक्षर, प्रत्येक पार्सर संदर्भ नहीं। सटीक पांच-वर्ण परिवर्तन का निरीक्षण करने के लिए टूल का उपयोग करें, फिर परिणाम को केवल HTML संदर्भ में रखें जिसके नियम आप समझते हैं। "कहीं भी चिपकाएँ" का जानबूझकर वादा नहीं किया गया है।
अवलोकन योग्य पाँच-वर्ण नीति आउटपुट के लिए टेकअवे पाँच वर्णों को कनेक्ट करें। HTML टेक्स्ट और उद्धृत को वन-पास परिणाम के बगल में रखें, फिर सत्यापित करें कि प्रत्येक पार्सर संदर्भ में कहां विशेषताएँ दर्ज नहीं करता है। उपयोगकर्ता द्वारा प्रस्तुत पाठ को एक पेज में प्रस्तुत करने वाला डेवलपर अब एक संकीर्ण HTML एस्केप वर्ण खोज के रूप में पांच-वर्ण नीति साक्ष्य की समीक्षा कर सकता है। इस आलेख के पीछे व्यावहारिक निर्णय विशिष्ट है: HTML एस्केपिंग में पांच अक्षर आते हैं: & < > " और '। यह पोस्ट मार्कअप में प्रत्येक की भूमिका बताती है, सूची संदर्भ-निर्भर क्यों है, और प्रत्येक के लिए इकाई कैसे चुनी जाती है। पाठक की कार्रवाई समान रूप से ठोस है: HTML इकाई एस्केपर के लिंक और मार्कअप वर्णों वाले एक स्निपेट से बचना प्रदर्शित करते हैं, जो पाठक को टूल पेज पर संदर्भित करता है सटीक वर्ण सेट के लिए 'समर्थित इनपुट और आउटपुट' अनुभाग जिससे यह बच जाता है।