में href विशेषता को एन्कोड करने के लिए कैसे करें href विशेषता की सामग्री के विरुद्ध क्या किया जाना चाहिए: HTML या URL एन्कोडिंग?HTML
<a href="???">link text</a>
एक तरफ, चूंकि href विशेषता में यूआरएल है, तो मुझे यूआरएल एन्कोडिंग का उपयोग करना चाहिए। दूसरी ओर, मैं इस यूआरएल को HTML में डाल रहा हूं, इसलिए यह HTML एन्कोडेड होना चाहिए।
कृपया इस विरोधाभास को दूर करने में मेरी सहायता करें।
धन्यवाद।
संपादित करें:
यहाँ विरोधाभास है। मान लीजिए कि URL में '<' और '>' वर्ण हो सकते हैं। यूआरएल एन्कोडिंग उनसे नहीं बच पाएगा, इसलिए href विशेषता के अंदर आरक्षित HTML वर्ण होंगे, जो मानक का उल्लंघन करते हैं। एचटीएमएल एन्कोडिंग '<' और '>' अक्षर से बच जाएगा और एचटीएमएल मान्य होगा, लेकिन उसके बाद यूआरएल में अप्रत्याशित '' वर्ण होंगे (यह यूआरएल के लिए आरक्षित चरित्र है, इसे क्वेरी स्ट्रिंग पैरामीटर के डिलीमीटर के रूप में प्रयोग किया जाता है) ।
Reserved URL charactersreserved HTML characters का सुपरसैट '<' और '>' को छोड़कर HTML के लिए आरक्षित है लेकिन यूआरएल के लिए नहीं है।
संपादित करें 2:
मैं '<' और '>' पात्रों के बारे में गलत था, वे वास्तव में URL एन्कोडिंग सहायता से निकले प्रतिशत हैं। यदि ऐसा है, तो इस मामले में यूआरएल एन्कोडिंग पर्याप्त है, है ना?
आप अब तक कुछ भी करने की कोशिश की है:
उदाहरण के लिए (यह एक सरल उदाहरण है कि मान लिया गया $ _GET में डेटा सही है और मौजूद है, ऐसा नहीं है कि असली दुनिया में है)? –
यह "आपने कुछ भी करने की कोशिश की है" मेम मूर्खतापूर्ण हो रही है। ब्राउज़र त्रुटि वसूली के साथ, डेटा एन्कोडिंग का एक बड़ा हिस्सा सुरक्षा समस्याओं के खिलाफ सुरक्षा के लिए है। अगर आप कुछ कोशिश कर रहे हैं तो आपको यह बताने के लिए कैसे कहा जाता है? मान लें कि आपके पास जो भी सुरक्षा परीक्षण सूट पर्याप्त कवरेज है? यह एक मौलिक तकनीक के बारे में एक बिल्कुल उचित सवाल है। – Quentin
क्वांटिन कम या ज्यादा सही है, लेकिन सवाल बनी हुई है, कौन सी परिस्थितियां विरोधाभासी हो सकती हैं? क्या आप एक उदाहरण दिखा सकते हैं? और क्या आपने दोनों समाधानों का प्रयास किया और क्या वे दोनों काम करते थे, या दोनों काम नहीं करते थे? –