2013-04-24 4 views
18

मेरे दोस्त कार्स्टन लॉउ क्रॉस-डोमेन-कुकीज़ को पढ़ने के तरीके के बारे में एक दिलचस्प विचार के साथ आए।क्रॉस-डोमेन-कुकीज़ - शायद एक नया विचार

स्थिति: आप डोमेन "बी" पर सेट डोमेन "ए" से एक कुकी पढ़ना चाहते हैं। आइडिया: डोमेन "ए" पर क्लाइंट से, आप डोमेन "बी" पर गतिशील संसाधन के लिए अनुरोध प्राप्त करते हैं - f.e. एक छवि या जावास्क्रिप्ट, जो सर्वर "बी" पर वास्तव में एक प्रोग्रामिंग भाषा है जो PHP, जावा इत्यादि जैसी कुकीज़ पढ़ने में सक्षम है। उस अनुरोध के साथ, आप सत्र आईडी की तरह एक अद्वितीय पहचानकर्ता भेजते हैं। तो ग्राहक पर कोड है जो डोमेन पर एक साइट पर लग रहा है 'ए' ऐसा दिखाई दे सकता:

<img src="www.domainB.com/?getCookie.php?sessionID=1234"> 

अब अजीब हिस्सा आता है, सर्वर बी सर्वर साइड कुकी डोमेन 'बी' द्वारा निर्धारित और पर पढ़ता प्रदत्त सत्र-आईडी के साथ या तो डोमेन "ए" द्वारा सुलभ डीबी में परिणाम लिखता है या एक प्रतिक्रिया देता है जिसमें क्लाइंट को कुकी "ए" पर कुकी जानकारी होती है जो उसके बाद AJAX के माध्यम से सर्वर "ए" के माध्यम से भेजती है।

मुझे पूरा यकीन है कि एक दोष है जिसे हम अभी तक नहीं मिला है। मैं व्यक्तिगत रूप से मानता हूं कि सर्वर "बी" कुकी सूचनाओं को पढ़ने में सक्षम नहीं होगा क्योंकि क्लाइंट-ब्राउजर यूआरएल डोमेन "ए" को इंगित करता है, लेकिन निश्चित रूप से "getCookie" - अनुरोधों को ऊपर दिए गए बिंदुओं को "बी" में समझाया गया है।

कृपया हमें बताएं कि आप इसके बारे में क्या सोचते हैं, यह क्यों काम करता है या यह क्यों काम नहीं कर सकता है। अवधारणा का एक छोटा सबूत, मेरे बड़े आश्चर्य के लिए सफल था।

+2

यह काम करना चाहिए। असल में, इस तरह वेबसाइट विभिन्न डोमेन से उपयोगकर्ताओं के लिए लॉगिन को संभालती है, क्योंकि डोमेन डेटाबेस डेटा साझा करते हैं जिसमें सत्र डेटा होता है। – Joseph

+1

धन्यवाद। इंटरनेट पर और यहां SO पर, आप "क्रॉस डोमेन कुकीज = असंभव" पढ़ सकते हैं, जबकि वास्तव में सरल हैक इसे संभव बनाता है, यदि आपके पास दोनों डोमेन हैं और डोमेन "बी" पर एक छोटी सी स्क्रिप्ट जोड़ सकते हैं? अजीब ... –

+7

इस बारे में कुछ भी अजीब बात नहीं है। आप यहां किसी भिन्न डोमेन के लिए कुकी को पढ़ या सेट नहीं कर रहे हैं - कि _is_ केवल आपके डोमेन से असंभव है। यदि आपके पास अन्य डोमेन से "सहायता" है, तो इसके बारे में थोड़ा "क्रॉस-डोमेन" है - आपको अन्य डोमेन से जानकारी _by पसंद_ मिल रही है; जबकि क्रॉस-डोमेन नीति उस जगह से होने से रोकने के लिए है जहां अन्य डोमेन यह नहीं चाहता है। – CBroe

उत्तर

15

यह सामान्य है, क्योंकि आपके पास 2 डोमेन का नियंत्रण है। इस प्रकार अधिकांश वेबसाइटें रास्ते से क्रॉस डोमेन एकल-साइन-ऑन प्राप्त करती हैं। लेकिन अगर आपके पास दूसरे डोमेन का नियंत्रण नहीं है तो आप इससे कुकीज़ नहीं पढ़ सकते हैं।

+3

सुनिश्चित करें, आप सही हैं, लेकिन फिर भी जब आप क्रॉस-डोमेन-कुकीज सेट करने की तलाश में हैं तो अधिकांश समय (और झूठे) "संभव नहीं" उत्तर सभी के साथ उत्तर होते हैं। यदि आपके पास दोनों डोमेन हैं, तो कोई समस्या नहीं है। –

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