मुझे यह काम करने के लिए मिला, लेकिन समाधान थोड़ा जटिल है, इसलिए मेरे साथ सहन करें।
क्या हो रहा है
जैसा कि यह है, इंटरनेट एक्सप्लोरर IFRAME पृष्ठों पर निम्न स्तर का विश्वास देता है (IE इसे "तृतीय-पक्ष" सामग्री कहता है)। यदि IFRAME के अंदर के पृष्ठ में गोपनीयता नीति नहीं है, तो इसकी कुकीज़ अवरुद्ध हो जाती हैं (जो कि स्टेटस बार में आंखों के आइकन द्वारा इंगित की जाती है, जब आप उस पर क्लिक करते हैं, तो यह आपको अवरुद्ध URL की सूची दिखाता है)।
(स्रोत: piskvor.org )
इस स्थिति में, जब कुकीज़ अवरुद्ध हो जाती हैं, तो सत्र पहचानकर्ता नहीं भेजा जाता है, और लक्ष्य स्क्रिप्ट 'सत्र नहीं मिला' त्रुटि फेंकता है।
(मैंने सत्र पहचानकर्ता को फ़ॉर्म में सेट करने और POST चर से लोड करने की कोशिश की है। यह काम किया होगा , लेकिन राजनीतिक कारणों से मैं ऐसा नहीं कर सका।)
IFRAME के अंदर पृष्ठ को अधिक विश्वसनीय बनाना संभव है: यदि आंतरिक पेज एक गोपनीयता नीति के साथ एक P3P हेडर भेजता है जो IE को स्वीकार्य है, तो कुकीज़ को स्वीकार किया जाएगा ।
इसे कैसे हल किया जाए
एक p3p पॉलिसी बनाएं
एक अच्छा प्रारंभिक बिंदु W3C ट्यूटोरियल है । मैंने इसके माध्यम से जाना है, आईबीएम गोपनीयता नीति संपादक डाउनलोड किया है और वहां मैंने गोपनीयता नीति का प्रतिनिधित्व किया और इसे (यहां यह था policy1
) इसका संदर्भ देने के लिए एक नाम दिया ।
नोट : इस बिंदु पर, आपको वास्तव में यह पता लगाने की आवश्यकता है कि क्या आपकी साइट की गोपनीयता नीति है, और यदि नहीं, तो इसे बनाएं - क्या यह उपयोगकर्ता डेटा एकत्र करता है, किस प्रकार का डेटा है, इसके साथ क्या करता है, इसकी पहुंच किसके पास है, आदि आपको यह जानकारी खोजने और इसके बारे में सोचने की आवश्यकता है। बस एक साथ थप्पड़ मारने से कुछ टैग नहीं कटेंगे। यह कदम पूरी तरह से सॉफ्टवेयर में नहीं किया जा सकता है, और अत्यधिक राजनीतिक हो सकता है (उदाहरण के लिए "क्या हमें अपने क्लिक आंकड़े बेचने चाहिए?")।
(उदाहरण के लिए "साइट एसीएमई लिमिटेड द्वारा संचालित है, यह अपने ऑपरेशन के लिए अनाम प्रति-सत्र पहचानकर्ताओं का उपयोग करता है, केवल तभी उपयोगकर्ता डेटा एकत्र करता है, जब स्पष्ट रूप से अनुमति दी जाती है और केवल निम्नलिखित उद्देश्यों के लिए, डेटा केवल तब तक संग्रहीत किया जाता है, जब तक केवल हमारी कंपनी इस तक पहुंच है, आदि आदि ")।
(जब इस टूल के साथ संपादन किया जाता है, तो नीति में त्रुटियों / चूक को देखना संभव है। टैब "HTML नीति" भी बहुत उपयोगी है: सबसे नीचे, इसमें "नीति मूल्यांकन" है - एक त्वरित जांच अगर नीति अवरुद्ध हो जाएगी IE की डिफ़ॉल्ट सेटिंग्स द्वारा)
संपादक एक .p3p फ़ाइल का निर्यात करता है, जो उपरोक्त नीति का XML प्रतिनिधित्व है। इसके अलावा, यह इस नीति के "कॉम्पैक्ट संस्करण" का निर्यात कर सकता है।
पॉलिसी से लिंक करें
फिर एक नीति संदर्भ फ़ाइल ( http://example.com/w3c/p3p.xml
) की आवश्यकता थी (गोपनीयता नीतियों का एक सूचकांक जो साइट का उपयोग करता है):
<META>
<POLICY-REFERENCES>
<POLICY-REF about="/w3c/example-com.p3p#policy1">
<INCLUDE>/</INCLUDE>
<COOKIE-INCLUDE/>
</POLICY-REF>
</POLICY-REFERENCES>
</META>
<INCLUDE>
शो सभी यूआरआई कि (मेरे मामले, पूरी साइट में) इस नीति का प्रयोग करेंगे। मैंने संपादक से जो नीति फ़ाइल निर्यात की है, उसे अपलोड किया गया थाhttp://example.com/w3c/example-com.p3p
प्रतिक्रियाओं के साथ कॉम्पैक्ट हेडर भेजें
मैंने इस तरह से प्रतिक्रियाओं के साथ कॉम्पैक्ट हेडर भेजने के लिए example.com पर वेबसर्वर सेट किया है:
HTTP/1.1 200 OK
P3P: policyref="/w3c/p3p.xml", CP="IDC DSP COR IVAi IVDi OUR TST"
// ... other headers and content
policyref
नीति संदर्भ फ़ाइल के लिए एक सापेक्ष URI है (जो बदले में गोपनीयता नीतियों का संदर्भ देता है), CP
कॉम्पैक्ट नीति प्रतिनिधित्व है। ध्यान दें कि उदाहरण में P3P हेडर का संयोजन आपकी विशिष्ट वेबसाइट पर लागू नहीं हो सकता है; आपके P3P हेडर सच में आपकी अपनी गोपनीयता नीति का प्रतिनिधित्व करते हैं!
फायदा!
इस कॉन्फ़िगरेशन में, ईविल आई दिखाई नहीं देता है, कुकीज़ IFRAME में भी सहेजे जाते हैं, और एप्लिकेशन काम करता है।
संपादित करें: जब तक आप मुकदमों से बचाव करना पसंद नहीं करते, तब तक क्या करें
कई लोगों ने सुझाव दिया है कि "अपने P3P हेडर में कुछ टैग्स को थप्पड़ मारो, जब तक कि ईविल आई नहीं छोड़ देता"।
टैग केवल बिट्स का एक गुच्छा नहीं हैं, उनके पास वास्तविक दुनिया के अर्थ हैं , और उनका उपयोग आपको वास्तविक दुनिया की जिम्मेदारियां देता है !
उदाहरण के लिए, यह दिखाते हुए कि आप कभी भी उपयोगकर्ता डेटा एकत्र नहीं करते हैं, ब्राउज़र को खुश कर सकता है, लेकिन यदि आप वास्तव में उपयोगकर्ता डेटा एकत्र करते हैं, तो P3P वास्तविकता के साथ विरोध कर रहा है। सादा और सरल, आप उद्देश्यपूर्ण रूप से अपने उपयोगकर्ताओं से झूठ बोल रहे हैं , और यह कुछ देशों में आपराधिक व्यवहार हो सकता है। के रूप में, "जेल जाना है, $ 200 इकट्ठा न करें"।
कुछ उदाहरण ( टैग के पूर्ण सेट के लिए p3pwriter देखें ):
- NOI : "वेब साइट पहचान किए गए डेटा एकत्र नहीं करता है।" (जैसे ही कोई अनुकूलन, एक लॉगिन, या कोई डेटा संग्रह (***** विश्लेषिकी, कोई भी?), आपको इसे अपने Ch3P में स्वीकार करना होगा )
- एसटीपी : सूचना को बताए गए उद्देश्य को पूरा करने के लिए रखा गया है। इसके लिए जानकारी को जल्द से जल्द त्याग दिया जाना चाहिए। साइटें एक अवधारण नीति है जो विनाश टाइम टेबल स्थापित करती हैं। अवधारण नीति को साइट की मानव-पठनीय गोपनीयता नीति से शामिल किया जाना चाहिए या इसे शामिल किया जाना चाहिए। "(इसलिए यदि आप भेजते हैं
STP
लेकिन आपके पास अवधारण नीति नहीं है, तो आप धोखाधड़ी सकते हैं। यह कितना अच्छा है? बिल्कुल नहीं)
मैं एक वकील नहीं हूं, लेकिन मैं यह देखने के लिए अदालत में जाने को तैयार नहीं हूं कि क्या पी 3 पी हेडर वास्तव में कानूनी रूप से बाध्यकारी है या यदि आप अपने उपयोगकर्ताओं को वास्तव में अपने वादों का सम्मान करने के लिए तैयार किए बिना कुछ भी वादा कर सकते हैं।