2014-06-24 19 views
59

में खो जा रही है हमारे पास एक साइट (www.example.com) है जो उपयोगकर्ताओं को भुगतान विवरण सत्यापित करने के लिए तृतीय पक्ष पृष्ठों की एक श्रृंखला में भेजती है, जो हम एक आईफ्रेम में करते हैं। प्रारंभ में, www.example.com का एक स्थानीय पृष्ठ आईफ्रेम में लोड होता है, और उपयोगकर्ता को तृतीय पक्ष URL पर रीडायरेक्ट किया जाता है। एक बार जब तीसरे पक्ष के कदम उपयोगकर्ता द्वारा पूरा किए जाते हैं, तो वे 302 आईफ्रेम के भीतर हमारी साइट (www.example.com) पर किसी पृष्ठ पर रीडायरेक्ट किए जाते हैं।आईई 11 फर्स्ट-पार्टी सत्र कुकीज़ iframe

यह आईई 11 को छोड़कर परीक्षण किए गए सभी ब्राउज़रों में काम करता है, जहां हमारी कुकीज़ खो जाने लगती हैं। हमने डेस्कटॉप और "मेट्रो" मोड दोनों में विंडोज 7 और 8.1 दोनों के तहत यह जांच की है, और समस्या सभी संस्करणों में है।

जब कोई उपयोगकर्ता हमारी साइट ब्राउज़ करता है तो हम एक सत्र कुकी सेट करते हैं, जिसे पहले-पक्ष पृष्ठ पर सही ढंग से भेजा जाता है जिसे प्रारंभ में आईफ़्रेम में लोड किया जाता है। एक बार जब उपयोगकर्ता इस आईफ्रेम में कुछ तृतीय-पक्ष पृष्ठों से गुजर चुका है, तो सत्र कुकी अगले अनुरोध के साथ नहीं भेजी जाती है।

यदि हम आईई 11 की गोपनीयता सेटिंग को निम्नतम मान पर सेट करते हैं, तो यह समस्या गायब हो जाती है और चीजें अपेक्षित कार्य करती हैं।

अब तक मेरे द्वारा किए गए सभी संभावित समाधान पी 3 पी शीर्षकों से संबंधित हैं। हम एक वैध और सही पी 3 पी शीर्षक और एक्सएमएल नीति फ़ाइल सेट है, और इस समस्या को केवल IE 11 में


अपडेट होती है: हम कुछ अन्य कुकीज़ जे एस का उपयोग कर निर्धारित किया है। ये सब उम्मीद के अनुसार बने रहे हैं। मतभेद समाप्ति तिथि (जेएस कुकीज़ के लिए 1 वर्ष, सत्र कुकी के लिए 1 महीने), डोमेन (जेएस कुकीज़ के लिए स्पष्ट रूप से "example.com", सत्र कुकी के लिए खाली) और क्या वे "केवल HTTP" हैं (जेएस के लिए झूठी कुकीज, सत्र कुकी के लिए सच)।

मैंने सत्र कुकी के लिए जेएस कुकीज़ के अनुसार इन सभी विकल्पों को सेट करने का प्रयास किया है, लेकिन इससे कोई फर्क नहीं पड़ता।


अद्यतन 2: अधिक परीक्षण के बाद मैं एक परीक्षण का मामला है कि इस समस्या का पुनर्निर्माण करने वाला बनाने में असमर्थ किया गया है। लाइव कोड में परीक्षण करने का प्रयास करने वाली कोई भी अतिरिक्त कुकीज़ हालांकि टूटी हुई प्रतीत होती है, भले ही वे जेएस कुकीज़ के समान कोड के साथ सेट हों। संक्षेप में; मुझे अभी तक कुकीज़ के लिए कोई पैटर्न नहीं मिला है जो काम करते हैं और जो नहीं करते हैं।

नोट करने के लिए एक संभावित दिलचस्प बात यह है कि कुकीज़ को हटाया नहीं जा रहा है, वे सिर्फ अंतिम अनुरोध पर नहीं भेजे जा रहे हैं। यदि कोई अन्य पृष्ठ लोड हो जाता है, तो कुकीज़ जादुई रूप से फिर से दिखाई देती है और भेजी जाती है; जो मुझे विश्वास दिलाता है कि यह iframes और P3P के आस-पास एक बग है।


अद्यतन 3 (3 दिन): कुकीज़ के IE 11 से निपटने मुझे को उलझाने के लिए जारी है। आगे मैं माइक्रोसॉफ्ट की भूलभुलैया में यात्रा करता हूं और अधिक खो गया मैं अपनी स्थानांतरण दीवारों में से एक बन गया। और यहाँ भूत हैं। आधा सपने वाली सुरक्षा नीतियों के टुकड़े जो स्वयं को कुछ अलौकिक प्राणी में बुने हुए हैं, जो हर कदम पर मुझे ट्रैक करता है और taunts। सबसे पहले मैं दृष्टि से बाहर निकलने वाले मुश्किल से भयानक रूप में जमे हुए, भयभीत, अजीब था, लेकिन हर गुजरने वाले घंटे के साथ मैं अपने निकटता के ज्ञान से अधिक आराम इकट्ठा करता हूं। क्या यह वह जानवर हो सकता है जिसे मैं यहां सामना करने के लिए भेजा गया था? मैं ऐसे समय में अपने एकमात्र साथी को कैसे मार सकता हूं?

+0

क्या आप पी 3 पी हेडर दिखा रहे हैं जिसका आप उपयोग कर रहे हैं? – vtortola

+0

'पी 3 पी: सीपी =" सभी डीएसपी कोर सीआर एडीएम पीएसए कोंनी हमारा सैम ओटीआर यूएनआर एलईजी "' इस हेडर के बिना, आईफ़्रेम में कोई कुकी काम नहीं कर रही है, जैसा कि अपेक्षित है। इसके साथ कुछ कुकीज़ काम कर रही हैं, लेकिन कुछ, यादृच्छिक रूप से, नहीं हैं। मैं उन लोगों के बारे में कोई पैटर्न या कुछ भी अलग नहीं ढूंढ पाया जो काम नहीं करते हैं। –

+0

http://stackoverflow.com/a/13975828/307976 – vtortola

उत्तर

-5

आईई 11 में अपने इंटरनेट विकल्प की जांच करें। टूल्स> इंटरनेट विकल्प> गोपनीयता> उन्नत

शायद आपको इसे ओवरराइड करना चाहिए और "सत्र कुकीज़ को हमेशा अनुमति दें" सक्षम करना चाहिए।

-1

मेरे पास इस विषय पर एक ही समस्या है जिसका उल्लेख किया गया है।

हमारी साइट एक आईफ्रेम में रखी गई है और कुकी (asp.net_session) में सत्र का उपयोग कर रही है। साइट पर नेविगेशन में समस्या नहीं है (कुकीज काम कर रहे हैं और अनुरोध हेडर से जुड़े हुए हैं)। लेकिन जब हम ग्राहक को किसी अन्य वेबसाइट (OTHERite.com) पर रीडायरेक्ट करते हैं तो अन्यसाइट.com ग्राहक को हमारे डोमेन पर रीडायरेक्ट करते हैं और इसे "_top" के रूप में खोलने के लिए मजबूर करते हैं, ब्राउज़र अनुरोधों के साथ कुकीज़ नहीं भेजता है ताकि हम ग्राहक सत्र खो दें। यह समस्या केवल आईई पर हुई थी।

इस समस्या को ठीक करने के लिए आप क्या सलाह दे सकते हैं।

+0

दुर्भाग्यवश मुझे इस समस्या का समाधान कभी नहीं मिला, और मुझे पता है कि जिस डेवलपर को विरासत में मिला वह एक वर्ष या उससे भी बाद में समस्या में भाग गया। अपने पी 3 पी शीर्षलेख और शुभकामनाएं जांचें! –

1

मैंने देखा है कि आईई 7 संगतता मोड एक नए पृष्ठ के लिए व्यस्त होने पर सत्र कुकीज़ अक्सर खो जाती है। मुझे लगता है कि यह iframe पर लागू हो सकता है। क्या आईएसआरएएम एक्स-यूए-संगत हेडर वैल्यू भेज रहा है जो कि पैरेंट पेज से अलग है, या सत्र में पहले से अलग है? जैसे आपका सत्र आईई = एज के साथ शुरू हुआ, और iframe पेज इसे IE = 7 पर सेट करता है। यदि ऐसा है, तो IE संगतता मोड पृष्ठों और सत्र कुकीज़ के लिए अक्सर एक नया आईई पीआईडी ​​स्पिन करने लगता है (लेकिन ऐसा लगता है कि स्थानांतरित नहीं किया जाता है।

5

हमें इंटरनेट एक्सप्लोरर 11 के साथ एक ही समस्या का सामना करना पड़ा जहां सत्र कुकी गायब हो गई । एक करने के लिए>अनुप्रेषित ->सत्र कुकी सेट-

प्रारंभिक अनुरोध/रहे हैं: https पर एक रीडायरेक्ट के बाद

अनुरोध श्रृंखला कुछ इस तरह देखा बाहरी URL->वापस अनुप्रेषित (सत्र कुकी खो)

हमारी समस्या RFC952 के अनुसार गलत होस्ट नाम की वजह से था, हम अपने परीक्षण सर्वर URL में अंडरस्कोर था। ऐसा लगता है कि यूआरएल आरएफसी 952 के अनुरूप नहीं है, तो इंटरनेट एक्सप्लोरर चुपचाप https पर रीडायरेक्ट पर सत्र कुकी को छोड़ देता है। अंडरस्कोर के बजाए डैश का उपयोग करते समय, सबकुछ अपेक्षित के रूप में काम करता था।

मूल समाधान इस asp.net blogpost from 2004. संबंधित माइक्रोसॉफ्ट बग टिकट here.

उम्मीद है कि इस में किसी को मदद मिलेगी की अद्यतन 2 खंड में मिला था।

+0

मजेदार मैंने पाया कि 2008 में समस्या - इस कारण से डोमेन नामों में अंडरस्कोर की अनुमति नहीं है। –