उप-डोमेन के साथ काम नहीं कर रहे कुकीज़


11

हमारे पास एक मुख्य साइट है example.comexample.com/adminवहाँ ठीक काम करता है में प्रवेश ।

लेकिन एक परीक्षण साइट पर test.example.com/adminमैं सभी example.comकुकीज़ को हटाने के बिना पहले व्यवस्थापक में लॉग इन नहीं कर सकता । फिर मैं लॉग इन कर सकता हूं, लेकिन जैसे ही मैं example.com/adminटेस्ट सर्वर पर अपने अगले क्लिक में लॉग इन करता हूं, मुझे लॉगिन पेज पर वापस भेज देता है।

मुझे नहीं पता कि यह ग्राहक लॉगिन को प्रभावित करता है या नहीं।

क्या मुख्य साइट या परीक्षण साइट में कुछ कॉन्फ़िगरेशन है जो इस समस्या को हल करेगा?

जवाबों:


14
  1. व्यवस्थापक मेनू पर, सिस्टम> कॉन्फ़िगरेशन का चयन करें। फिर बाईं ओर पैनल में, सामान्य के तहत, वेब पर क्लिक करें।
  2. सत्र कुकी प्रबंधन अनुभाग का विस्तार करें

में example.comदुकान है, तो निम्न सेट करें:

  1. कुकी डोमेन को example.com पर सेट करें (आमतौर पर यह सेटिंग .example.com के सामने डॉट के साथ होगी, आप इस मामले में इसके बिना कोशिश कर सकते हैं)।

में test.example.comदुकान है, तो निम्न सेट करें:

  1. परीक्षण-परिवेश पर कुकी डोमेन को .test.example.com पर सेट करें। ("" डोमेन के सामने यहाँ ठीक होना चाहिए)

2
बस एक नोट, .डोमेन के सामने चरण 3 के बारे में, महत्वपूर्ण है!
B00MER

हैलो एना। क्या कुकी डोमेन को example.comव्यवस्थापक, test.example.comव्यवस्थापक या दोनों में ".example.com" पर सेट किया जाना चाहिए ?
बुटेल बटुकस

मैं इसे डिफ़ॉल्ट कॉन्फ़िगर के रूप में सेट करूँगा (जो कि आपका example.com है। मुझे लगता है कि व्यवस्थापक है)। तो इसका मतलब है। सभी scopes के लिए .xample.com।
अन्ना वोक्कल

@ अन्नावोक्कल मुझे यहां यकीन नहीं है। आप समझते हैं कि मेरे पास दो अलग-अलग मशीनों पर दो पूरी तरह से अलग-अलग मैग्नेटो इंस्टॉलेशन हैं, है ना? एक उपयोग करता है example.com, दूसरा test.example.com। उन दोनों के अपने-अपने प्रवेश हैं । लेकिन आप मुझे केवल एक ही डोमेन के लिए एक डोमेन सेट करने के लिए कह रहे हैं। क्या आप कह रहे हैं कि मुझे दूसरे को खाली छोड़ देना चाहिए?
बुटिक बटुकस

ओह समझा। वास्तव में मुझे यह पता नहीं था कि ये 2 सेपरेट इंस्टॉलेशन हैं। क्या मुख्य दुकान www-domain के साथ या उसके बिना चलती है? आप कुकी को ओवरलैप होने से बचाने के लिए कुकी test.example.comऔर टेस्ट को मुख्य दुकान पर सेट कर सकते हैं www.example.com
अन्ना वोक्कल

9

एना कुछ अच्छे अंक बनाती है और उसका जवाब बहुत सारे लोगों के लिए काम करेगा, लेकिन मेरे लिए नहीं, इसलिए मैं अपना जवाब पोस्ट कर रही हूं। शायद मेरी समस्या उसके द्वारा संबोधित किए जाने की तुलना में बहुत अधिक मौलिक थी।

मेरे समाधान से मेरी साइट के डोमेन को बदलने के लिए था example.comकरने के लिए www.example.com। वास्तव में, इंटरनेट पर मेरा शोध बताता है कि wwwकुकीज़, काम करने के तरीके के कारण अमेजन, गूगल, ईबे और हर दूसरे प्रमुख वेब डेस्टिनेशन जैसे उपसर्ग बड़े हिस्से में हो सकते हैं। शायद नहीं।

कुकी के काम करने का डिफ़ॉल्ट तरीका यह है कि यह सभी उप-डोमेन पर लागू होता है। इसलिए यदि example.comआप एक कुकी भेजते हैं, तो आप यात्रा करते हैं mail.example.com, smile.example.comया devsite.example.com, फिर आपका ब्राउज़र उस कुकी को उन साइटों पर भेज देगा और उन साइटों को कुकी का उपयोग करने का प्रयास करेगा। जब तक वे सभी एक आम सत्र फ़ोल्डर का उपयोग नहीं करते हैं, वे आपके सत्र को खोजने में सक्षम नहीं होंगे। और फिर भी, आपको अलग-अलग डेटाबेस कॉन्फ़िगरेशन, विभिन्न एप्लिकेशन संरचनाओं आदि के कारण समस्याएं होने की संभावना है।

मेरी रूट htaccess फाइल में 301 रीडायरेक्ट को शामिल करते हुए परिवर्तन करना, मैग्नेटो core_config_dataडेटाबेस तालिका में सुरक्षित / असुरक्षित यूआरएल को बदलना , ServerNameअपाचे में साइट को बदलना VirtualHostsऔर DNS / नेमसर्वर सेटिंग्स को अपडेट करना। लेकिन ऐसा करना उपयुक्त था।

मेरी मुख्य साइट बनाकर www.example.com, इसकी कुकीज़ अब केवल उप-डोमेन पर लागू होंगी, जैसे mail.www.example.com(और हमारे पास ऐसा कोई उप-डोमेन नहीं है)। क्लाइंट ब्राउज़र जो www.example.comकुकी प्राप्त करते हैं devsite.example.com, उसे नहीं भेजते हैं और समस्या हल हो जाती है। इसके अलावा यह वास्तव wwwमें हमारे डोमेन नाम के सामने एक अच्छा है ।


1
काश, मैं इस उत्तर के लिए कई वोट दे पाता। मैं महीनों से एक समाधान की तलाश में हूं और हर कोई कुकी पथ और कुकी डोमेन के बारे में कहता रहता है, लेकिन यदि आप www का उपयोग करते हैं तो यह समस्या को ठीक नहीं करेगा। धन्यवाद!!
ब्रूनो मोंटेइरो

हमारे पास कुकी डोमेन में पहले से ही www है, लेकिन यह अभी भी विफल है ...
ब्लैक'

क्या अभी भी विफल है?
ब्यूटिक बटुक

3

आप बस उपडोमेन के लिए adminhtml कुकी नाम बदल सकते हैं।

फ़ाइल में दो परिवर्तन app/code/core/Mage/Core/Controller/Varien/Action.php

फ़ंक्शन में preDispatchपरिवर्तन लाइनें

/** @var $session Mage_Core_Model_Session */
$session = Mage::getSingleton('core/session', array('name' => $this->_sessionNamespace))->start();

सेवा

$namespace = $this->_sessionNamespace.($_SERVER['SERVER_NAME']=='subdomain.example.com'?'_subdomain':'');
/** @var $session Mage_Core_Model_Session */
$session = Mage::getSingleton('core/session', array('name' => $namespace))->start();

फ़ंक्शन में setRedirectWithCookieCheckपरिवर्तन

/** @var $session Mage_Core_Model_Session */
session = Mage::getSingleton('core/session', array('name' => $this->_sessionNamespace));

सेवा

$namespace = $this->_sessionNamespace.($_SERVER['SERVER_NAME']=='subdomain.example.com'?'_subdomain':'');
/** @var $session Mage_Core_Model_Session */
$session = Mage::getSingleton('core/session', array('name' => $namespace));

और इसके बाद टेक्स्ट सर्च करें

Mage::getSingleton('core/session', array('name' => 'adminhtml'));

सभी फ़ाइलों में और इसके साथ बदलें

Mage::getSingleton('core/session', array('name' => 'adminhtml'.($_SERVER['SERVER_NAME']=='subdomain.example.com'?'_subdomain':'')));

अगर कोई घटना घटित होगी।


1
क्या आप शब्दों में समझा सकते हैं कि आपका कोड क्लाइंट और सर्वर कुकी को अलग-अलग सत्रों में कैसे बदल देता है?
बुटिक बटुकस

@ButtleButkus समस्या यह है कि example.com/admin adminhtmlडोमेन के नाम के साथ कुकी सेट करता है .example.com। जब आप test.example.com/admin पर अधिकृत करने का प्रयास करते हैं, तो यह कुकी के adminhtmlलिए कुछ करने की कोशिश करता है .test.example.com। Magento की सेटिंग में समस्याएं अलग-अलग हैं। मुख्य समस्या यह है कि आप उप डोमेन से मुख्य डोमेन के कुकी को संशोधित नहीं कर सकते। उपरोक्त कोड adminhtmlउदाहरण के लिए कुकी बनाने के लिए Mag.com बनाता है और adminhtml_subdomainsubdomain.example.com के लिए कुकी बनाता है , इसलिए वे किसी भी तरह से मिश्रण नहीं करेंगे। subdomainआपके द्वारा उपयोग किए जाने वाले सही में बदलें ।
मैक्सवी

यह एडमिन की तरफ से अच्छा है। लेकिन फ्रंटेंड साइड को इस तरह के समाधान में कुकी का नाम भी बदलना चाहिए, है ना?
बुटेल बटुकस

@ButtleButkus आप सही हैं। क्षमा करें, मैंने ऐसा इसलिए नहीं लिखा क्योंकि मुझे इस तरह की समस्या नहीं थी।
मैक्सवी

यह ठीक है, अभी भी कुछ लोगों के लिए उपयोगी है।
ब्यूटेल बटुक

0

यदि आप अभी भी अपने फ़्रेंडेंड में लॉग इन नहीं कर पा रहे हैं (कुकीज़ सत्र के कारण ग्राहक सत्र नहीं बनाया जा सकता है), तो कृपया संबंधित मुख्य फ़ाइल को ओवरराइड करें

पूर्व 1.8.x. संस्करण - एप्लिकेशन / कोड / कोर / दाना / ग्राहक / मॉडल / सत्र। एफपी

तथा

1.8.x से। संस्करण ऐप / कोड / कोर / मैज / कोर / मॉडल / सत्र / Abstract.php

इस सूत्र में बताई गई पंक्तियों पर टिप्पणी करें। इसने पूर्व 1.8.x संस्करण स्टोर पर फ्रंटएंड पर ग्राहक लॉगिन के साथ समस्या तय की है।

https://magento.stackexchange.com/a/34057/695

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.