Url में कौन से विशेष वर्ण उपयोग करने के लिए सुरक्षित हैं?


14

Url में कौन से विशेष वर्ण उपयोग करने के लिए सुरक्षित हैं?


3
यह बहुत जल्दी और आसानी से पूछा जा सकता है कि कौन से विशेष वर्ण URL में उपयोग करने के लिए असुरक्षित हैं (नीचे एंड्रियास बोनीनी के उत्तर के अनुसार)।
मार्क हाटन

2
यह पूछना कि असुरक्षित क्या है, इसका उत्तर देना उतना ही कठिन है: किसी भी गैर-अस्सी के चरित्र का प्रतिशत-एन्कोडेड होना आवश्यक है।
नव

2
@neo: नहीं, यह नहीं है: O
थॉमस बोनिनी

जवाबों:


10

सुरक्षित अक्षर az, AZ, 0-9, और _ - (अंडरस्कोर और माइनस) हैं, कि आरक्षित वर्णों के अलावा जो मापदंडों के लिए उपयोग किए जाते हैं।

अन्य पात्र कुछ हद तक समस्याएँ देंगे। उदाहरण: यदि एक पैरामीटर एक सरणी है तो एक ?param=array[content]url को दर्शाएगा, जो वर्ग कोष्ठक url को सफ़ेद करेगा, जो देखने में बदसूरत और असंभव है।

लेकिन समस्या यह नहीं है कि यह केवल बदसूरत है, आपको बताएंगे कि आपके पास सुरक्षित लोगों के साथ एक चरित्र के साथ एक jpg है, कई बार ब्राउज़र इसे 404 प्राप्त करने में डाउनलोड करने में असमर्थ होगा। यह पुराने ब्राउज़रों और कुछ मोबाइल ब्राउज़रों की समस्या है।

इसका परीक्षण कैसे करें?

  • उन पात्रों के साथ छवियों / js / css का एक गुच्छा रखें, जिन्हें आप एक सार्वजनिक पृष्ठ पर कई आगंतुकों के साथ नामों में परीक्षण करना चाहते हैं
  • हर बार हिट होने पर 404 पेज आपको ईमेल भेजें

मेरे पास 14000 ईमेल के साथ एक इनबॉक्स है जो मेरी बात साबित करता है।


5
ठीक है, "सुरक्षित पात्रों" के बजाय मैं कहूंगा "अत्यंत सुरक्षित वर्ण" - कल्पना अधिक अनुमति देता है, लेकिन मैं आपके साथ सहमत हूं कि यहां रूढ़िवादी होना बेहतर है।
जेफ एटवुड

2
अवधि के साथ क्या गलत है?
ब्लूव्हेल

12

आपके URL के पथ घटक (पथ घटक सब कुछ '?') से पहले का विशेष अर्थ है?

  ";" | "/" | "?"

उन लोगों के अलावा, निम्न वर्णों का आपके URL के क्वेरी भाग में विशेष अर्थ है ('के बाद सब कुछ?')। इसलिए, अगर वे 'के बाद हैं?' आपको उनसे बचने की जरूरत है:

  ":" | "@" | "&" | "=" | "+" | "$" | ","

अधिक गहराई से स्पष्टीकरण के लिए, RFC देखें ।


3
बेशक, सिर्फ स्पष्टता के लिए, यह उत्तर प्रश्न के विपरीत है। प्रश्न यह पूछता है कि कौन से अक्षर सुरक्षित हैं, न कि वे जो असुरक्षित हैं। चूँकि मूल प्रश्न का दृढ़ता से उत्तर देना कठिन है, इसलिए इस प्रश्न के उत्तर को दूसरे तरीके से पूछने और इस उत्तर से मिलान करने के लिए प्रश्न को संभवतः संपादित किया जाना चाहिए।
मार्क हाटन

3

यहाँ उत्तर अच्छे हैं, लेकिन एक और अपवाद है जो मुझे लगता है कि ध्यान देने योग्य है - गैर-अंग्रेजी वर्ण। यहाँ इस SF प्रश्न को संदर्भित करते हुए , ñ (as Español में) जैसे अक्षर पूरी तरह से वैध हैं, यदि वे आपके DNS में सही ढंग से एन्कोड किए गए हैं।

आपको अपने डीएनएस के भीतर पुण्यकोड का उपयोग करने के लिए उन्हें आधुनिक ब्राउज़रों (एस्पनॉल के लिए प्रवेश xn--espaol-zwa) में हल करने के लिए उपयोग करना होगा, लेकिन ये अब डोमेन नामों में उपयोग करने के लिए पूरी तरह से सुरक्षित हैं, क्योंकि वे गैर-अंग्रेजी बोलने वालों के लिए भी आसान हैं ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.