दिलचस्प पोस्ट
कास्टिंग सूची <T> – सहानुभूति / भ्रष्टाचार समस्या किसी अन्य वर्ग से Winform टेक्स्टबॉक्स नियंत्रण कैसे पहुंचें? MSI vs nuget संकुल: कौन सी लगातार डिलीवरी के लिए बेहतर है? आईवर्स को "आधुनिक" उद्देश्य-सी में कहां रखा जाए? स्प्रिंग एकाधिक इंपैप एडेप्टर किसी दृश्य में प्रोग्राम विशेषता सेटिंग कैसे करें दूसरे पृष्ठ से नियंत्रण तक पहुंचें ASP.Net मेरी वापसी शून्य क्यों है, लेकिन अगर मैं क्रोम / सफारी में यूआरएल दबाता हूं, तो मुझे डाटा मिल सकता है? IPhone सिम्युलेटर में स्थान सेट करें Django formets: पहले की आवश्यकता है? सरणी से सबसे निकटतम संख्या प्राप्त करें कोई भी अच्छा पायथन आधारित वेब क्रॉलर का पता है जिसे मैं उपयोग कर सकता था? मैं jquery का उपयोग कर पृष्ठ पर एक विशिष्ट स्थान पर कैसे स्क्रॉल कर सकता हूं? यह प्रतीक जावास्क्रिप्ट में क्या मतलब है? पांडा डेटाफ्रेम में कॉलम का चयन करना

सबडोमेन और डोमेन के बीच कुकी साझा करें

मेरे पास दो प्रश्न हैं मैं समझता हूं कि यदि मैं डोमेन में .mydomain.com (प्रमुख बिंदु के साथ) को कुकी में निर्दिष्ट करता हूं कि सभी उप डोमेन कुकी साझा कर सकते हैं

क्या mydomain.com ( www उपडोमेन के बिना) में बनाई गई कुकी तक पहुंच सकता है?

क्या mydomain.com ( www उपडोमेन के बिना) mydomain.com में बनाई गई कुकी का उपयोग कर सकता है?

वेब के समाधान से एकत्रित समाधान "सबडोमेन और डोमेन के बीच कुकी साझा करें"

2 डोमेन mydomain.com और subdomain.mydomain.com केवल कुकी साझा कर सकते हैं यदि डोमेन को Set-Cookie हेडर में स्पष्ट रूप से नाम दिया गया है अन्यथा, कुकी का दायरा अनुरोध होस्ट के लिए प्रतिबंधित है। (इसे "होस्ट-केवल कुकी" के रूप में जाना जाता है। देखें कि मेजबान केवल कुकी क्या है? )

उदाहरण के लिए, यदि आपने निम्न शीर्ष लेख को subdomain.mydomain.com से भेजा है:

 Set-Cookie: name=value 

फिर mydomain.com अनुरोध के लिए कुकी नहीं भेजी जाएगी। हालांकि यदि आप निम्न का उपयोग करते हैं, तो यह दोनों डोमेन पर प्रयोग करने योग्य होगा:

 Set-Cookie: name=value; domain=mydomain.com 

आरएफसी 2109 में , एक अग्रणी डॉट के बिना एक डोमेन का मतलब था कि इसका उपयोग उपडोमेन पर नहीं किया जा सकता था, और केवल एक प्रमुख बिंदु ( .mydomain.com ) इसे उप-डोमेन में इस्तेमाल करने की अनुमति देगा

हालांकि, आधुनिक ब्राउज़रों ने नए विनिर्देश RFC 6265 का सम्मान किया है, और किसी भी प्रमुख डॉट को अनदेखा कर दिया होगा, जिसका अर्थ है कि आप उपडोमेन पर कुकी का उपयोग कर सकते हैं और साथ ही शीर्ष-स्तरीय डोमेन भी कर सकते हैं।

संक्षेप में, यदि आप mydomain.com से ऊपर दिए गए दूसरे उदाहरण की तरह एक कुकी सेट करते हैं, तो यह mydomain.com द्वारा सुलभ होगा, और इसके विपरीत।

यह भी देखें:

  • www बनाम ना-www और कुकीज़
  • कुकीज़ परीक्षण स्क्रिप्ट इसे बाहर की कोशिश करने के लिए

मुझे यकीन नहीं है @ कंबकली का जवाब पूरी तस्वीर दिखा रहा है मैंने जो पढ़ा है वह है:

  Unless the cookie's attributes indicate otherwise, the cookie is returned only to the origin server (and not, for example, to any subdomains), and it expires at the end of the current session (as defined by the user agent). User agents ignore unrecognized cookie attributes (but not the entire cookie). 

भी

 8.6. Weak Integrity Cookies do not provide integrity guarantees for sibling domains (and their subdomains). For example, consider foo.example.com and bar.example.com. The foo.example.com server can set a cookie with a Domain attribute of "example.com" (possibly overwriting an existing "example.com" cookie set by bar.example.com), and the user agent will include that cookie in HTTP requests to bar.example.com. In the worst case, bar.example.com will be unable to distinguish this cookie from a cookie it set itself. The foo.example.com server might be able to leverage this ability to mount an attack against bar.example.com. 

मेरे लिए इसका अर्थ है कि आप कुकी को उपडोमेन / डोमेन द्वारा पढ़े जाने से बचा सकते हैं लेकिन कुकीज़ को अन्य डोमेन में लिखने से रोक नहीं सकते हैं। इसलिए कोई भी एक ही ब्राउज़र द्वारा विज़िट किए गए एक अन्य उपडोमेन को नियंत्रित करके आपकी साइट कुकी को फिर से लिख सकता है। जो एक बड़ी चिंता नहीं हो सकती है

@ सींबकली द्वारा प्रदान की जाने वाली अद्भुत कुकी परीक्षण साइट / मेरे जैसे मेरे जवाब में इसे याद किया; स्क्रॉलिंग और अपवॉटिंग के मूल्य:

यहां डोम कुकी एपीआई ( https://developer.mozilla.org/en-US/docs/Web/API/Document/cookie ) का उपयोग करते हुए एक उदाहरण है, इसलिए हम खुद को व्यवहार के लिए देख सकते हैं

अगर हम निम्नलिखित जावास्क्रिप्ट निष्पादित करते हैं:

document.cookie = "key = मान"

यह क्रियान्वित करने के समान ही प्रतीत होता है:

document.cookie = "key = value; डोमेन = mydomain.com"

कुकी कुंजी केवल डोमेन पर उपलब्ध है (केवल) mydomain.com


अब, अगर आप निम्न जावास्क्रिप्ट mydomain.com पर निष्पादित करते हैं:

document.cookie = "key = value; डोमेन =। mydomain.com"

कुकी कुंजी mydomain.com के साथ-साथ उपडोमेन.मैडोमेन.कॉम के लिए उपलब्ध हो जाती है।


अंत में, यदि आप subdomain.mydomain.com पर निम्न प्रयास करें और निष्पादित करें:

document.cookie = "key = value; डोमेन =। mydomain.com"

क्या कुकी कुंजी subdomain.mydomain.com पर उपलब्ध है? मुझे थोड़ा आश्चर्य हुआ कि यह अनुमति है; मैंने यह मान लिया था कि यह एक सबडोमेन के लिए एक सुरक्षा उल्लंघन होगा जो किसी मूल डोमेन पर कुकी सेट करने में सक्षम होगा।

दोनों मामलों में हां यह कर सकता है, और यह दोनों IE और एज के लिए डिफ़ॉल्ट व्यवहार है।

अन्य उत्तर मूल्यवान अंतर्दृष्टि जोड़ते हैं लेकिन मुख्यतः क्रोम में व्यवहार का वर्णन करते हैं। यह नोट करना महत्वपूर्ण है कि व्यवहार IE में पूरी तरह से भिन्न है। CMBuckley की बहुत ही उपयोगी परीक्षा स्क्रिप्ट दर्शाती है कि (कहते हैं) क्रोम में, जब कोई डोमेन निर्दिष्ट नहीं किया जाता है तो कुकीज रूट और सबडोमेन के बीच साझा नहीं किए जाते हैं। हालांकि IE में एक ही परीक्षा से पता चलता है कि वे साझा कर रहे हैं। यह आईए केस सींबिकली के www-या- www-link में ले-होम विवरण के करीब है। मुझे यह पता है कि यह मामला है क्योंकि हमारे पास सिस्टम है जो रूट और सबडोमेन दोनों पर विभिन्न सर्विसेक कुकीज का उपयोग किया था। यह सब ठीक काम किया जब तक कि किसी ने इसे IE में उपयोग नहीं किया और दो सिस्टम जिनके सत्र कुकी सफल हो जाएं, जब तक कि हम कैश को उड़ा न दें।

सरल समाधान

 setcookie("NAME", "VALUE", time()+3600, '/', EXAMPLE.COM); 

Setcookie का 5 वां पैरामीटर कुकी (उप) डोमेन निर्धारित करता है जो कि कुकी के लिए उपलब्ध है इसे (EXAMPLE.COM) सेट करने से इसे किसी भी उपडोमेन पर उपलब्ध होता है (उदाहरण: SUBDOMAIN.EXAMPLE.COM)

संदर्भ: http://php.net/manual/en/function.setcookie.php