2011-01-14 22 views
47

क्या 302 रीडायरेक्ट के दौरान कुकी भेजने के साथ कोई समस्या है? उदाहरण के लिए, यदि मैं रिटर्न-टू-यूआरएल कुकी बनाता हूं और उसी प्रतिक्रिया में उपयोगकर्ता को रीडायरेक्ट करता हूं तो क्या कोई (आधुनिक) ब्राउज़र कुकी को अनदेखा करेगा?302 रीडायरेक्ट के दौरान ब्राउज़र कुकीज़ भेजना

+0

थोड़ा पढ़ना, मुझे लगता है कि सर्वर चर सर्वर से अलग होने के कारण सत्र चर से बेहतर होगा और ग्राहक भविष्यवाणी पर निर्भर नहीं होगा। – ADTC

उत्तर

20

अधिकांश ब्राउज़र 302 रीडायरेक्ट पर कुकीज़ स्वीकार कर रहे हैं। मुझे इसके बारे में काफी यकीन था, लेकिन मैंने थोड़ी सी खोज की। सभी आधुनिक ब्राउज़र नहीं हैं। Internet archive Link from a now removed/dead/ microsoft connect Q/A on Silverlight Client HTTP Stack ignores Set-Cookie on 302 Redirect Responses (2010)

मुझे लगता है कि हम अब IE6 के लिए एक स्थानापन्न है और यह विंडोज मोबाइल ब्राउज़रों है ...

+1

आपके द्वारा निर्दिष्ट फ़ोरम पृष्ठ URL के साथ पहुंच योग्य नहीं हो सकता है। क्या आपका मतलब है आईई 6 और विंडोज मोबाइल ब्राउज़र नहीं हैं? – hiroshi

+1

लिंक स्थानांतरित हो गया है। मैंने, एक ही सामग्री के साथ एक नया लिंक सेट किया है। और मेरा मतलब था मोबाइल के लिए आईई विशिष्ट संस्करण अपने स्वयं के बग्स का सेट जोड़ें – regilero

31

इस ब्लॉग पोस्ट के अनुसार: http://blog.dubbelboer.com/2012/11/25/302-cookie.html सभी प्रमुख ब्राउज़रों, IE (6, 7, 8, 9, 10) , एफएफ (17), सफारी (6.0.2), ओपेरा (12.11) दोनों विंडोज़ और मैक पर, रीडायरेक्ट पर कुकीज़ सेट करें। यह 301 और 302 रीडायरेक्ट दोनों के लिए सच है।

10

Here इस समस्या के लिए क्रोमियम बग है (सेट-कुकी को 302 स्थिति के साथ HTTP प्रतिक्रिया के लिए अनदेखा किया गया है)।

+0

स्थिति: WontFix - स्थायी बग – Slawa

11

एक नोटिस (डेवलपर के जीवन को बचाने के लिए):

IE और एज रीडायरेक्ट जवाब में सेट-कुकी अनदेखी कर रहे हैं जब कुकी के डोमेन स्थानीय होस्ट है।

समाधान:

उपयोग 127.0.0.1 बजाय स्थानीय होस्ट

+4

आईई और एज में "निश्चित" हो सकता है ताकि वे 127.0.0.1 के लिए कुकीज़ सेट न करें। रवींद्र! और वे सोचते हैं कि क्यों डेवलपर्स आईई से प्यार नहीं करते हैं ... आपका जवाब अभी भी मेरे लिए सिर-खरोंच के लगभग 4 घंटे समाप्त हो गया है। धन्यवाद! – GlenPeterson

0

मेरे मामले में मैंने CookieOptions.Secure = सत्य सेट किया है, लेकिन इसे http://localhost पर परीक्षण किया है, और ब्राउज़र सेटिंग के अनुसार कुकीज़ छुपाता है।

ऐसी समस्या से बचने के लिए, आप प्रोटोकॉल से मेल खाने के लिए कुकी सुरक्षित विकल्प बना सकते हैं Request.IsHttps, उदा।

new CookieOptions() 
       { 
        Path = "/", 
        HttpOnly = true, 
        Secure = Request.IsHttps, 
        Expires = expires 
       } 
संबंधित मुद्दे