2011-10-27 13 views
6

एक वेब साइट www.example.com
सभी कुकी www उपडोमेन की तैयारी में हैं नहीं है।
अब एक नया सबडोमेन है और मैं कुकीज़ को सभी सबडोमेन के लिए देखना चाहता हूं।किसी विशिष्ट कुकी के डोमेन को कैसे प्राप्त करें?

लक्ष्य सभी पुराने आगंतुकों .example.com होने के लिए या .example.com के लिए नए लोगों को लिखने के लिए अगर www के लिए सेट के लिए www.example.com कुकीज़ को फिर से लिखने के लिए है।

इसके लिए मैं मौजूदा कुकी का डोमेन प्राप्त करना चाहते हैं।
क्या यह संभव है? क्या इस उद्देश्य के लिए कोई PHP कार्य है?

+0

आप मिल सकती है [ '$ cookie-> setDomain ($ डोमेन)'] (https://github.com/delight-im/PHP-Cookie/blob/004cde69ec840e65c15275e09b92ecb1da06f357/src/Cookie.php#L117) सहायक, जैसा कि [इस स्टैंडअलोन लाइब्रेरी] में पाया गया है (https://github.com/delight-im/PHP- कुकी)। जबकि आप कुकीज की 'डोमेन' प्रॉपर्टी तक नहीं पहुंच सकते हैं जो पहले से ही भेजा गया है (और क्लाइंट पर सेट है), आप बस नए सेट कर सकते हैं। वह ठीक काम करेगा। – caw

उत्तर

3

मुझे नहीं लगता कि कुकीज़ पढ़ने पर डोमेन उपलब्ध है, यह ब्राउज़र द्वारा सीमित है। पुरानी कुकी को हटाने और इसे नए डोमेन में बदलने का एक समाधान होगा।

उदा।

$value = $_COOKIE['TestCookie']; 
setcookie("TestCookie", "", time() - 3600, "www.example.com"); 
setcookie("TestCookie", $value, time + (60 * 60 * 24 * 30), ".example.com"); 
+0

मुझे यह विचार था, लेकिन इस तरह से सभी कुकीज़ बदलने के बाद भी, प्रक्रिया हमेशा के लिए दोहराई जाएगी। मैं इसे सर्वर-साइड पर कर रहा हूं। और एक और बात: Google क्रोम कुकी डोमेन (निरीक्षण तत्व में) जानता है – lvil

+1

आप एक और कुकी जोड़ सकते हैं ताकि आप यह जान सकें कि आप पहले ही रूपांतरण कर चुके हैं। – Noodles

1

अगर मैं तुम्हें सही ढंग से समझ आप कुकीज़ वर्तमान में ग्राहकों पर मौजूदा के डोमेन को बदलना चाहते हैं?

यह संभव नहीं है (*)।

जब एक कुकी सर्वर साइड हो रही है, यह संभव आप को देखने के लिए अगर यह www डोमेन के लिए स्थापित किया गया था, याद रखें कि इस कुकी पारित कर दिया प्रपत्र ग्राहक कोई डोमेन जानकारी नहीं है है?

(*) यह ग्राहक के पक्ष जावास्क्रिप्ट के साथ संभव हो सकता है।

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