2009-06-29 8 views
6

URLEncodedFormat() वैध URL वर्णों से बचने के पीछे क्या कारण हैं?CFML में URLEncodedFormat() वैध URL वर्णों को एन्कोड क्यों करता है?

मान्य वर्ण:

- _ . ! ~ * " () 

CF8 Doc कहा, "[URLEncodedFormat() पलायन] बराबर हेक्साडेसिमल भागने दृश्यों के साथ गैर अक्षरांकीय अक्षर।" हालांकि, वैध यूआरएल अक्षरों से क्यों बचें?

उत्तर

11

वे मान्य हैं, लेकिन यह मेरे लिए बहुत सामान्य लगता है कि यदि आप एक प्रोग्रामिंग भाषा को एक स्ट्रिंग को एन्कोड करने के लिए कहते हैं जो यह सभी गैर अल्फा न्यूमेरिक वर्णों को हेक्स समकक्ष में परिवर्तित करता है।

एएसपी का सर्वर .URLEncode() वही करता है और php urlencode() भी - और _ को छोड़कर करता है। साथ ही, जावास्क्रिप्ट में, encodeURIComponent() फ़ंक्शन सभी गैर अल्फा न्यूमेरिक वर्णों को हेक्स समकक्षों को एन्कोड करेगा।

यह एक अच्छा विचार वैसे भी जब सर्वर अनुरोध बनाने के लिए कुछ भी होने से अप्रत्याशित रोकने के लिए के लिए उपयोगकर्ता इनपुट का उपयोग कर सभी गैर अल्फा न्यूमेरिक वर्ण एन्कोड करने के लिए है।

1

क्या मान्य यूआरएल अक्षरों का एन्कोडिंग त्रुटि या समस्या उत्पन्न कर रहा है?

एक मुद्दा हो सकता है कि ऐसा न करने, अगर आप एक ईमेल में गैर एन्कोड किए गए वर्ण के साथ एक लिंक एम्बेड द्वारा, ईमेल सॉफ्टवेयर दो पंक्तियों में लिंक तोड़ने का फैसला कर सकते हैं।

यदि आप पूरी तरह से एन्कोडेड यूआरएल का उपयोग करते हैं, तो इसकी संभावना बहुत कम हो जाती है। हालांकि इसे देखने का सिर्फ एक तरीका है।

0

मैं कम से कम इस मामले में देख सकता था कि "एंकर टैग में एक लिंक के रूप में यूआरएल का उपयोग करते समय इसे एन्कोड किया जाना अच्छा लगेगा।