2009-12-18 21 views
5

मुझे कुकीज़ के साथ एक अजीब समस्या है जो ठीक से भेजा जा रहा है और प्राप्त किया गया है लेकिन इंटरनेट एक्सप्लोरर पर जावास्क्रिप्ट के लिए पहुंच योग्य नहीं है। क्रोम, फ़ायरफ़ॉक्स, ओपेरा, और सफारी जावास्क्रिप्ट ठीक है।अनुरोध में भेजा गया सबडोमेन कुकी कुकी हेडर, लेकिन आईई में मौजूद नहीं है जावास्क्रिप्ट के दस्तावेज़.cookie

HTTP/1.0 302 Moved Temporarily 
Location: http://members.abc.example.com/abc/members/0912/07/news01.html 
Set-Cookie: AID=1495763b4fc6d5f4290e2074ab1092f7; expires=Tue Feb 16 09:33:03 2010 GMT; path=/abc/members/0912/07/news01.html; domain=abc.example.com; ; 
Set-Cookie: LEADENDDATE=20091218; expires=Tue Feb 16 09:33:03 2010 GMT; path=/abc/members/0912/07/news01.html; domain=abc.example.com; ; 
  • ब्राउज़र, लक्ष्य पृष्ठ का अनुरोध करता कुकीज़ सिर्फ भेजा सहित:

    1. पोस्ट करने के लिए "http://wp.abc.example.com/content/sv2.cgi?id=1234", प्रतिक्रिया कुकीज़ सेट, 302 रीडायरेक्ट जारी करता है।

      GET /abc/members/0912/07/news01.html HTTP/1.1 
      Cookie: AID=1495763b4fc6d5f4290e2074ab1092f7; LEADENDDATE=20091218; 
      Host: members.abc.example.com 
      
    2. "जावास्क्रिप्ट: अलर्ट (document.cookie) चलाएं;" ब्राउज़र पता बार में।

    3. आईई पर, और केवल आईई, कुकीज़ वहां नहीं हैं। अन्य ब्राउज़र्स ठीक हैं। यह IE6, 7 के लिए सच है, और 8.

    सारांश में

    तो,

    "wp.abc.example.com" एक कुकी पर "abc.example.com" है, जो सेट "members.abc.example.com" पर अनुरोधों में सर्वर को भेजा गया, लेकिन उस पृष्ठ पर जावास्क्रिप्ट को दिखाई नहीं दे रहा है।

    क्यों?

    मैंने सोचा कि शायद "abc.example.com" की बजाय कुकी को ".abc.example.com" पर सेट किया जाना चाहिए ताकि सबडोमेन मिलान की अनुमति मिल सके, लेकिन फिर भी इसे "members.abc.example" में भेजा जा रहा है। कॉम "अनुरोध हेडर।

    असल में यह काम कर रहा है जैसे "एचटीपीओली" कुकी पर सेट है, भले ही ऊपर दिखाए गए सेट-कुकी शीर्षलेख उदाहरण से, वह ध्वज शामिल नहीं है। क्या अतिरिक्त ";" शायद कुछ प्रभाव हो सकता है?

  • उत्तर

    7

    एरिक लॉ ने कुछ समय पहले a good article on IE's various cookie-handling quirks लिखा था। उनके द्वारा दिए गए प्रश्नों में से एक ऐसा प्रतीत होता है जैसे यह आपके परिदृश्य पर लागू हो सकता है:

    प्रश्न 8: क्या HTML DOM दस्तावेज़.cookie प्रॉपर्टी के लिए कोई सीमा है?

    एक: [...]

    इसके अलावा, कारण अंतर्निहित WinInet InternetGetCookie कार्यान्वयन में एक अस्पष्ट बग के, IE के document.cookie एक कुकी नहीं लौटेगा यह एक पथ विशेषता एक युक्त साथ स्थापित किया गया था, तो फ़ाइल का नाम।
    [...]

    ध्यान रखें कि आपके पथ फ़ाइल नाम शामिल करते हैं:

    सेट कुकी: चिकित्सा = 1495763b4fc6d5f4290e2074ab1092f7; समाप्ति = ट्यू फ़रवरी 16 09:33:03 2010 जीएमटी; पथ =/एबीसी/सदस्य/0 9 12/07/news01.html; डोमेन = abc.example.com; ;
    सेट-कुकी: लीडेंडडेट = 200 9 1218; समाप्ति = ट्यू फ़रवरी 16 09:33:03 2010 जीएमटी; पथ =/एबीसी/सदस्य/0 9 12/07/news01.html; डोमेन = abc.example।कॉम; ;

    मैं सुझाव है कि आप फ़ाइल नाम से मुक्त रास्तों के साथ कुकी सेट करने की कोशिश, और कहा कि अगर मदद नहीं करता है देखें ...

    +0

    धन्यवाद! हमने अंततः इसे अपने लिए बाहर निकाला, लेकिन एक ज्ञात बग के रूप में इसे लिखना अच्छा लगता है। एमएसडीएन मूल रूप से कुकी हैंडिंग विवरण पर बेकार है। क्या इस मुद्दे का कोई माइक्रोसॉफ्ट दस्तावेज है जिसके बारे में आप जानते हैं? – ryandenki

    +0

    वास्तव में हमारे मामले में हमें वास्तव में केवल पथ के लिए, पृष्ठ-विशिष्ट होने की आवश्यकता होती है। http://stackoverflow.com/questions/1956641/any-justification-for-a-policy-that-: बेशक कि एक अजीब नीति हमारी कंपनी वेबसाइटों के बिना URL में क्वेरी पैरामीटर के उपयोग पर प्रतिबंध लगाने के लिए सिर्फ एक भयानक वैकल्पिक हल है क्वेरी-पैरामीटर-नहीं होने वाली इस्तेमाल किया जाना चाहिए – ryandenki

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