मैंने उपयोगकर्ता को टैग सबमिट किए हैं जो किसी भी प्रकार (वैध) यूटीएफ -8 स्ट्रिंग हो सकते हैं। मैं जानना चाहता हूं कि urlencode()
के माध्यम से उन्हें चलाने के द्वारा उन्हें URL में मर्दाना शामिल करना सुरक्षित है या नहीं।PHP: यूआरएल में वैध यूटीएफ -8 स्ट्रिंग्स को अनुमति देने के लिए urlencode() एक सुरक्षित तरीका है?
दूसरे शब्दों में, urlencode() वैध यूटीएफ -8 तारों के लिए उपयोग करने के लिए सुरक्षित है? (मान्य द्वारा मेरा मतलब आईडी उन्हें पहले से ही UTF-8 के लिए मजबूर एन्कोड किया है)
यहां देखने का प्रयास करें ... http://php.net/manual/en/function.urlencode.php पृष्ठ पर कुछ चर्चा है "gmx dot net पर dominik dot hofer" द्वारा पोस्ट को देखकर यह – DeveloperChris
मदद कर सकता है डोमिनिक का मुद्दा (http://www.php.net/manual/en/function.urlencode.php#88712) वास्तव में इस तथ्य के साथ प्रतीत होता है कि परिणामी स्ट्रिंग जावास्क्रिप्ट/एचटीएमएल के लिए सुरक्षित नहीं थी। जो ज़ेनक्रॉस के लिए एक अच्छा सवाल लाता है: जब आपका मतलब "सुरक्षित" होता है, तो क्या आपका मतलब है "यूआरएल सुरक्षित", या "यूआरएल सुरक्षित और एचटीएमएल सुरक्षित"? क्योंकि अगर आप एचटीएमएल सुरक्षित चाहते हैं, तो आपको urlencode के अलावा htmlentities() का उपयोग करने की आवश्यकता होगी। –
जहां तक मुझे पता है, आपको '' विशेषता में URL डालने पर 'urlencode' नहीं करना चाहिए। वह ब्राउज़र का काम है। बस 'htmlspecialchars' करें। –