2012-08-13 13 views
6

मैं एकाधिक सबडोमेन में कुकीज़ साझा करने का एक तरीका खोजने का प्रयास कर रहा हूं।चुनिंदा सबडोमेन में एक ही कुकी का उपयोग

तरह कुकी सेट करना:

setcookie('token', base64_encode(serialize($token)), time()+10800, '/', '.mydomain.com'); 

ठीक करता है। लेकिन यहां थोड़ी सी समस्या है। यह कुकी को सभी सबडोमेन में साझा करेगा।

मेरी समस्या यह है कि मेरे पास 2 सबडोमेन पर स्थापित अन्य वातावरण (देव और परीक्षण) हैं। मैं "चुनिंदा" सबडोमेन में कुकीज़ साझा करने का एक तरीका ढूंढ रहा हूं। यानी कुछ सबडोमेन में साझा करें, और दूसरों के बीच साझा न करें। मुझे यकीन नहीं है कि ऐसा कुछ भी मौजूद है या नहीं।

किसी भी मदद की सराहना की जाती है। धन्यवाद।

+0

आप अपने कुकी नामों में केवल एक उपसर्ग जोड़ सकते हैं। dev_token, prod_token, जो भी आपको चाहिए। – Tchoupi

+1

मुझे नहीं लगता कि आप वास्तव में क्या करना चाहते हैं। आप क्या कर सकते हैं अपनी कुकी को सभी सबडोमेन द्वारा एक्सेस करने से बचाएं। आप अपनी कुकी को किसी भी तरह एन्कोड कर सकते हैं और इसे वापस डीकोड करने के लिए चुनिंदा सबडोमेन कुंजी दे सकते हैं। या आप एक ही समय में आवश्यक डोमेन के लिए कुकीज़ सेट कर सकते हैं। जैसा कि आप कोड में एक ही स्थान पर dev_cookie और test_cookie सेट करते हैं। – zysoft

+1

जहां तक ​​मुझे पता है और दूसरों ने इसका उल्लेख किया है, यह संभव नहीं है। आपका एकमात्र समाधान उन्हें अलग-अलग नाम देना है। जब तक आप अपने देव वातावरण के लिए एक अलग डोमेन प्राप्त नहीं करते हैं, जो थोड़ा सा लगता है। – diggersworld

उत्तर

0

इसके बारे में बहुत कुछ सोचने और शोध करने और ऊपर पोस्ट की गई सभी मूल्यवान टिप्पणियों को पढ़ने के बाद, मुझे लगता है कि इसका कोई सीधा समाधान नहीं है।

मैं एड्रियन Hingert द्वारा प्रदान समाधान के साथ चला सकते थे, लेकिन इसका मतलब यह होता है कि एक अतिरिक्त जांच की हर एक उपयोगकर्ता में आता है।

मुझे लगता है मैं कोई विकल्प नहीं मेरी देव और परीक्षण वातावरण को स्थानांतरित करने के साथ छोड़ दिया हूँ दूसरे डोमेन में।

आपके विचारों के लिए आप सभी को धन्यवाद।

1

जहां तक ​​मुझे पता है कि आप या तो '.mydomain.com' (जैसा कि आप कर रहे हैं) का उपयोग करके सभी सबडोमेन में साझा कर सकते हैं या आपको विशिष्ट होना चाहिए और उदाहरण के लिए, केवल 'टेस्ट' का उपयोग करके केवल एक सबडोमेन लक्षित करना होगा। mydomain.com '।

आप कुछ चाल या वर्कअराउंड का भी उपयोग कर सकते हैं, जैसे कि कुकी नाम का उपसर्ग करना और फिर तर्क सर्वर पक्ष करना, लेकिन मुझे यकीन नहीं है कि यह समाधान आप जिस समाधान को ढूंढ रहे हैं।

0

विशेषता domain=.example.com विशेष रूप से कुकी को सभी सबडोमेन द्वारा उपलब्ध कराती है। बस उस विशेषता को छोड़ दें और कुकी केवल उस सबडोमेन द्वारा पढ़ी जा सकती है जो इसे सेट करता है।

यह इतना आसान है।