2009-02-23 7 views
46

Let को अपनी पहुंच कहते हैं कि मैं डोमेन के साथ एक वेबसाइट है: www.example.comकुकी पथ और सबफ़ोल्डर पृष्ठों

अगर मैं पथ '/' के साथ एक कुकी सेट कुकी सभी के माध्यम से सुलभ हो जाएगा डोमेन के पृष्ठों, जैसे:

  • www.example.com/page1.html
  • www.example.com/subfolder1/page1.html
  • www.example.com/subfolder1/moresubfolder1/page1 ज टीएमएल, आदि

क्या होगा अगर हम पथ '/subfolder1', को कुकी सेट कुकी उपलब्ध फ़ोल्डर के अन्तर्गत किसी भी पृष्ठ या सबफ़ोल्डर का प्रयास किया जाएगा होगा? उदाहरण के लिए:

  • www.example.com/subfolder1/moresubfolder/page1.html

तो, अगर नहीं, मुझे लगता है, मैं, लेकिन उन कुकीज़ के लिए पथ '/' का उपयोग करने के कोई विकल्प नहीं है, सही?

उत्तर

50

हम पथ को कुकी सेट करते हैं '/ subfolder1', कुकी उपलब्ध फ़ोल्डर के अन्तर्गत किसी भी पृष्ठ या सबफ़ोल्डर का प्रयास किया जाएगा होगा?

हां। कुकी सभी पृष्ठों और उपनिर्देशिकाओं के लिए उपलब्ध होगी।

+22

प्रासंगिक विनिर्देश के लिए http://stackoverflow.com/questions/8014024/set-cookie-wildcard-path देखें। उन लोगों के लिए जो नहीं जानते थे, कुकीज़ केवल निर्दिष्ट पथ और किसी भी उपपथ, कोई सुपरपाथ तक पहुंच योग्य नहीं हैं। तो पथ के लिए कुकीज़ "/ फ़ोल्डर/सबफ़ोल्डर 1 /" "/ फ़ोल्डर /" तक पहुंच योग्य नहीं हैं। मैंने थोड़ा सा मेरे सिर पर टक्कर लगी। –

+0

@ नमूना जैक आउच, जो मेरी समस्या को काफी अच्छी तरह से बताता है! – RonLugge

+0

@Alex, तो हम एक कुकी प्राप्त करते हैं जो '/ subfolder1' के लिए है लेकिन ** नहीं **'/subfolder1/आंतरिक फ़ोल्डर '? – Pacerier

11

अगर हम पथ /subfolder1 को कुकी सेट, उदाहरण में अगले पन्नों सुलभ हैं:

www.example.com/subfolder1/page1.html
www.example.com/subfolder1/moresubfolder1 /page1.html
आदि

हालांकि, पेज www.example.com/page1.html के रूप में यह अनुमति पथ से संबंधित नहीं है सुलभ नहीं होगा।

3

this जवाब के एक हिस्से को पुन: उपयोग से कुछ अस्पष्टता निकालने के लिए:

एक अनुरोध-पथ एक दिया कुकी पथ पथ-मेल खाता है तो निम्न स्थितियों में कम से कम एक रखती है:

  • कुकी-पथ और अनुरोध-पथ समान हैं।
  • कुकी-पथ अनुरोध-पथ का उपसर्ग है, और कुकी-पथ का अंतिम अक्षर% x2F ("/") है।
  • कुकी-पथ अनुरोध-पथ का उपसर्ग है, और कुकी -
    पथ में शामिल अनुरोध-पथ का पहला अक्षर% x2F ("/") वर्ण है।

वहाँ /subfolder1 पथ पर एक कुकी और /subfolder1/ पथ निर्धारित करने के बीच एक मामूली (परन्तु संभवत: महत्वपूर्ण) का अंतर है।

यदि आप पूर्व में भरोसा करते हैं तो आपके अनुरोध पथ को वांछित व्यवहार की गारंटी के लिए "% x2F ("/") वर्ण" (एक आगे स्लैश) से शुरू करने की आवश्यकता है। उदाहरण के लिए, लिंक किए गए उत्तर पर एक नज़र डालें।

कुकी पथ को बस / पर सेट करना किसी भी किनारे के मामलों से बचाता है, लेकिन जैसा कि आप कहते हैं - कुकी पूरे डोमेन तक पहुंच योग्य होगी।

+0

सबसे अधिक जानकारी देने वाला उत्तर – KGCybeX

संबंधित मुद्दे