2008-09-22 13 views
12

यदि उपडोमेन के लिए कुकी सेट है, तो metric.foo.com, क्या मुझे www.foo.com के अनुरोध पर metric.foo.com कुकी को हटाने का कोई तरीका है? ब्राउजर (कम से कम फ़ायरफ़ॉक्स) मेट्रिक.फू डॉट कॉम के डोमेन के साथ सेट-कुकी को अनदेखा करता है।क्या सबडोमेन कुकीज़ को हटाना संभव है?

उत्तर

16

कुकीज केवल उन डोमेन द्वारा पठनीय हैं जो उन्हें बनाए गए हैं, इसलिए अगर कुकी मेट्रिक.फू डॉट कॉम पर बनाई गई थी, तो इसे उसी डोमेन के तहत हटा दिया जाना चाहिए जैसा इसे बनाया गया था। इसमें उप-डोमेन शामिल हैं।

यदि आपको metric.foo.com से कुकी को हटाना आवश्यक है, लेकिन वर्तमान में www.foo.com पर एक पृष्ठ चला रहे हैं, तो आप सक्षम नहीं होंगे।

ऐसा करने के लिए, आपको पृष्ठ को metric.foo.com से लोड करना होगा, या foo.com के अंतर्गत कुकी बनाना होगा ताकि यह किसी भी सबडोमेन के तहत पहुंच योग्य हो सके। या इस का उपयोग करें:

Response.cookies ("mycookie") डोमेन = ".foo.com"

... जबकि इसे बनाने, और आप पहले उसे हटा नहीं।।

.. चेतावनी - काम करना चाहिए।

5

मुझे सबडोमेन के साथ एक ही समस्या थी। अनुरोध से पहले कुकी प्राप्त करने के किसी कारण से काम नहीं किया। इसके बजाय मैंने एक ही कुकी नाम के साथ एक नई कुकी तैयार की, और अतीत में समाप्ति तिथि समाप्त की। यह पूरी तरह से काम करता है:

 
void DeleteSubdomainCookie(HttpResponse response, string name) 
{ 
    HttpCookie cookie = new HttpCookie(name); 
    cookie.Expires = DateTime.Now.AddMonths(-1); 
    cookie.Domain = ".yourdomain.com"; 
    response.Cookies.Add(cookie); 
} 
संबंधित मुद्दे