2009-06-16 5 views
14

मेरी कंपनी का एक छोटा विजेट है जो शॉपिंग कार्ट में प्लग करता है। हम एक समस्या में भाग रहे हैं जहां आईई 7 में कुकीज़ सेट करना काम नहीं कर रहा है। ऐसा इसलिए हो रहा है क्योंकि हम एक तृतीय पक्ष हैं क्योंकि हम साइट पर आईफ्रेम के माध्यम से एम्बेडेड हैं।आईई, पी 3 पी, आईफ्रेम और अवरुद्ध कुकीज़ (पृष्ठ होस्ट पेज तक काम करता है जब तक व्यक्तिगत जानकारी का अनुरोध नहीं किया जाता है)

मैंने कई पोस्ट देखी हैं जो कहते हैं कि इस समस्या को हल करने का तरीका शीर्षलेख में एक पी 3 पी कॉम्पैक्ट नीति डालकर है। जैसा कि बताया जा:

Cookie blocked/not saved in IFRAME in Internet Explorer

मैं सत्यापित किया है कि मेरी पी 3 पी नीति मेरी HTTP शीर्ष लेख में है। और यह वास्तव में शॉपिंग कार्ट साइट के पहले पृष्ठ/चरण के लिए काम करता है, लेकिन जैसे ही पृष्ठ पर व्यक्तिगत जानकारी होती है (जैसे नाम, पता, फोन इत्यादि), आईई मेरी साइट और मेरी कुकी को अवरुद्ध करता है।

मैंने कई अलग-अलग पी 3 पी नीतियों की कोशिश की है और वे सभी एक ही स्थान पर काम नहीं करते हैं। मैंने अपनी विशेष पी 3 पी नीति उत्पन्न करने के लिए आईबीएम पी 3 पी उपकरण का भी उपयोग किया है, लेकिन यह अभी भी काम नहीं करता है।

मैं पूरी तरह से नुकसान में हूं।

उत्तर

5

मुझे कुछ समय पहले एक ही समस्या थी। सुनिश्चित करें कि आप के अंदर वाले पृष्ठ पर पी 3 पी शीर्षलेख जोड़ें।

+1

संकेत के लिए धन्यवाद कर रहा है। मैंने सत्यापित किया है कि, मैं जिस सामग्री की सेवा कर रहा हूं, उसके लिए पी 3 पी हेडर वहां है। (मैंने यानी एचटीटीपी हैडर का उपयोग किया) –

+0

ठीक है .. यानी गोपनीयता सेटिंग्स बदलें या फिर कम सुरक्षा के साथ परीक्षण करें। यदि यह काम करता है तो समस्या आपके स्रोत कोड के साथ है। आप वेब सुरक्षा टूल बार के साथ एफएफ का भी उपयोग कर सकते हैं। कुकी के साथ क्या हो रहा है यह देखने के लिए गोपनीयता सेटिंग बदलें और वेब डेवलपर टूल बार का उपयोग करें। – Shoban

+0

शोबाब, संकेतों के लिए धन्यवाद। मैंने आईई में अपनी सुरक्षा कम कर दी और उसने अपनी साइट की कुकी स्थिति को "अवरुद्ध" से "प्रतिबंधित" में बदल दिया। यह डीआईडी ​​मेरे लिए काम करता है। प्रतिबंधित पर्याप्त है। मुझे यकीन नहीं है कि मेरे स्रोत कोड के साथ समस्या क्या हो सकती है - शायद मेरी पी 3 पी नीति पर्याप्त नहीं है? मुझे एफएफ वेब सुरक्षा टूलबार कहां मिल सकता है? ऐसा कुछ ढूंढना बहुत अच्छा होगा जो मुझे बताता है कि मेरी पी 3 पी नीति पर्याप्त क्यों नहीं है। –

3

फिडलर वेब डीबगर (www.fiddler2.com) में प्रतिक्रिया पर एक "गोपनीयता" इंस्पेक्टर टैब है जो पी 3 पी टोकन को उनके अर्थों में डीकोड करता है। इंस्पेक्टर के निचले हिस्से में एक लिंक है जो एमएसडीएन आलेख को इंगित करता है जो दिखाता है कि कौन सी नीतियों को डिफ़ॉल्ट रूप से "स्वीकार्य" माना जाता है।

नोट, ज़ाहिर है कि पी 3 पी नीतियां कानूनी घोषणा हैं, इसलिए आपको यह सुनिश्चित करना होगा कि कुकीज का उपयोग आपके द्वारा पी 3 पी में दावा करता है।

+0

फिडलर के निचले हिस्से में वाला लिंक आपको इस पृष्ठ पर ले जाता है, जो केवल आईई 6 के लिए स्वीकार्य नीतियों का वर्णन करता है: http://msdn.microsoft.com/en-us/ लाइब्रेरी/एमएस 537343 (वीएस.85) .aspx # असंतोषजनक_cookies किसी को भी हालिया संदर्भ के बारे में पता है? –

+0

आई 6 के बाद से पी 3 पी डिफ़ॉल्ट नहीं बदला है। – EricLaw

+0

@EricLaw: निश्चित रूप से आपका एक प्राचीन उत्तर है, लेकिन गोपनीयता निरीक्षक टैब फिडलर से हटा दिया गया था? मैं फिडलर 4 चला रहा हूं (अभी भी फिडलर 2 - v4.4.2.1 बीटा लेबल किया गया है) और मुझे इसे कहीं भी नहीं दिख रहा है (न ही मुझे इसे पिछले संस्करणों में देखना याद है) –

14

यह शायद किसी और की मदद नहीं करेगा, लेकिन मैं इस पर सप्ताह के लिए दीवार के खिलाफ अपने सिर को टक्कर लगी थी। यह पता चला है कि आईई 7 तृतीय-पक्ष कुकीज को सेट करने की अनुमति नहीं देगा, यहां तक ​​कि वैध पी 3 पी कॉम्पैक्ट पॉलिसी के साथ भी यदि सामग्री-प्रकार के लिए एचटीएमएल मेटा टैग में पेज पर आईफ्रेम के साथ पेज पर एक अलग वर्ण सेट घोषणा है आईफ्रेम

+2

यह मुझे कुछ मिनट के लिए आशा देता है। : डी –

4

एक बहुत ही कपटपूर्ण इंटरनेट एक्सप्लोरर 7 बग है जिसके बारे में पता होना चाहिए: एक आईफ्रेम के अंदर 304 ("संशोधित नहीं") अनुरोध पर पी 3 पी हेडर आरएफसी के अनुसार वेब सर्वर द्वारा नहीं भेजा जाएगा (जब तक कि आप आईआईएस का उपयोग करके, जो ऐसी चीजों की परवाह नहीं करता है)। IE7 वास्तव में उस विशिष्ट अनुरोध के दौरान किसी भी कुकी सेट को हटा देगा।

इसका प्रभाव आपके ऊपर वर्णित प्रभाव होगा, शायद यह हो रहा है कि क्या हो रहा है। आईई 6 & आईई 8 (और हर दूसरे ब्राउज़र) अपेक्षित के रूप में काम करते हैं।

+2

ऐसा लगता है कि यह आईई 8 को भी प्रभावित करता है। –

3

हम 304 अनुरोध (कैश सामग्री) के साथ ऊपर वर्णित समस्या में भाग गए। हमारा लोड बैलेंसर एक सत्र कुकी सेट कर रहा था, लेकिन अपाचे वेब सर्वर में अनुरोधों के लिए पी 3 पी हेडर शामिल नहीं होगा जिसके परिणामस्वरूप 304 परिणाम कोड हो गया था। तो फिर सत्र की जानकारी गड़बड़ हो जाएगी।

तो यह लोड बैलेंसर्स से अवगत होना कुछ है। जब वे दृढ़ता ट्रैकिंग के लिए एक कुकी सेट करते हैं, तो सुनिश्चित करें कि यह हमेशा पी 3 पी हेडर उत्पन्न करता है, यह सुनिश्चित करने के लिए कि उन्हें हमेशा टंडेम में भेजा जाता है।

2

मेरे पास एक ही समस्या थी और Google/फेसबुक दृष्टिकोण और पी 3 पी हेडर को नकली करने का निर्णय लिया। हालांकि मुझे कुछ समस्याएं आईं।

  1. सबसे पहले आपको यह सुनिश्चित करना होगा कि आप सभी के साथ हेडर पास कर लें।
  2. यदि आप विजुअल स्टूडियो डेवलपमेंट वेबसर्वर का उपयोग कर रहे हैं तो किसी कारण से पी 3 पी हेडर को अनदेखा कर दिया जाएगा। तो आईआईएस में अपने ऐप की मेजबानी करें।

समस्या 1:

कि हैडर वापस जाने के लिए आपके अनुरोध कार्यों के सभी अपने Global.asax में जोड़ने के साथ, निश्चित रूप से अपनी आवश्यकताओं के लिए यह अनुरूपण:

protected void Application_BeginRequest(Object sender, EventArgs e) { 
      // 
      HttpContext.Current.Response.AddHeader("P3P", "CP=\"This is not a P3P policy! See http://mydomain.com/privacy-policy for more info.\""); 
     } 

समस्या 2:

सुंदर आत्म व्याख्यात्मक। आईआईएस में अपनी परियोजना को होस्ट करें।

मैंने पी 3 पी को बाईपास करने का निर्णय लिया जब मैंने पढ़ा कि डब्ल्यू 3 सी ने 2006 से मानक पर काम नहीं किया है या अपडेट नहीं किया है। मेरे लिए, इसका मतलब है कि यह मर चुका है और हमारे पास एक मृत मानक लागू करने वाला एक बड़ा ब्राउज़र है। परियोजना मेरा था, मैं ग्राहक था/मैं हूं। तो यदि आप एक ही कार्यवाही करने की योजना बना रहे हैं और आप अपने लिए कुछ नहीं लिख रहे हैं, तो उन शक्तियों के साथ जांच करें।

चीयर्स!

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