Django

2009-11-19 3 views
14

के साथ एक कॉम्पैक्ट गोपनीयता नीति सेट करना मैं Django से एक पी 3 पी कॉम्पैक्ट गोपनीयता नीति कैसे सेट करूं ताकि आईई सुरक्षा साइट पर उच्च होने पर कुकीज़ को मेरी साइट से स्वीकार कर लेता है - यानी कोई कॉम्पैक्ट गोपनीयता नीति नहीं होने तक कुकीज़ स्वीकार नहीं की जाती है।Django

चीयर्स लड़का

उत्तर

17

मिडलवेयर इस तरह की चीजों को "हर अनुरोध" आधार पर करने का पसंदीदा तरीका है।

settings.py में:

P3P_COMPACT = 'policyref="http://www.example.com/p3p.xml", CP="NON DSP COR CURa TIA"' 
MIDDLEWARE_CLASSES += ('myapp.middleware.P3PHeaderMiddleware',) 

MyApp/middleware.py में: उदाहरण के लिए, यहाँ हर प्रतिक्रिया Django उत्पन्न करने के लिए एक ही (उदाहरण) पी 3 पी हैडर जोड़ने के लिए मध्यस्थ का एक सरल सा है

from django.conf import settings 

class P3PHeaderMiddleware(object): 
    def process_response(self, request, response): 
     response['P3P'] = getattr(settings, 'P3P_COMPACT', None) 
     return response 

तुम भी जवाब में पी 3 पी हैडर की स्थापना करके एक ही दृश्य में ऐसा ही प्रभाव हो सकता है:

def my_view(request): 
    response = render_to_response('my_template.html') 
    response['P3P'] = 'CP="NON DSP COR CURa TIA"' 
    return response 

विषय पर विस्तार करने के लिए, पी 3 पी हेडर जैसे कुकीज़ और शीर्षलेख दोनों एक ही समय में प्रतिक्रिया के हिस्से के रूप में भेजे जाते हैं; वास्तव में, हुड के तहत, कुकीज़ को अन्य प्रतिक्रिया शीर्षलेख के साथ सेट किया जाता है। आप curl का उपयोग कर कुकी हेडर देख सकते हैं:

$ curl --head http://www.google.com/ 
HTTP/1.1 200 OK 
Date: Wed, 13 Jan 2010 00:04:59 GMT 
Expires: -1 
Cache-Control: private, max-age=0 
Content-Type: text/html; charset=ISO-8859-1 
Set-Cookie: PREF=ID=d2c09762c479f94e:TM=1263341099:LM=1263341099:S=oJby3NpU4RsRfuYa; expires=Fri, 13-Jan-2012 00:04:59 GMT; path=/; domain=.google.com 
Set-Cookie: NID=30=kdKrd5e-u6Xs7cUe3p4eaNDtv6SO88uBL5v6_M1XMTSRmkh7okxrWLOm-l_uZdN37PxQIe4dBlekFFVCpTFXGyIDlUrz1hEwhgVLvXfIik_VeVWGmWzKbA5qu_Zq0sOi; expires=Thu, 15-Jul-2010 00:04:59 GMT; path=/; domain=.google.com; HttpOnly 
Server: gws 
X-XSS-Protection: 0 
Transfer-Encoding: chunked 
0

मैं P3P के बारे में बहुत ज्यादा पता नहीं है, लेकिन मैं एक छोटे से खुदाई किया था और इस पाया:

http://www.w3.org/TR/P3P11/#Well_Known_Location

आप /w3c/p3p.xml पर फ़ाइल डाल

ऐसा लगता है कि पी 3 पी नीतियां robots.txt फ़ाइलों के समान हैं।

अतिरिक्त रूप से आप अपने सभी पृष्ठों पर पी 3 पी शीर्षलेख सेट कर सकते हैं यदि robots.txt विधि जिस तरह से आप जाना चाहते हैं। यह एक साइड-नोट है, हालांकि, क्योंकि आप कॉम्पैक्ट संस्करण चाहते हैं जो मैं मान रहा हूं वह p3p.xml फ़ाइल है।

आशा है कि इससे आपको सही रास्ते पर पहुंचने में मदद मिलेगी।

+0

उत्तर के लिए धन्यवाद, मैं इसे कोई चिंता नहीं कर सकता। यह और भी है कि मैं Django ऑथ सिस्टम द्वारा निर्धारित कुकीज़ पर एक पी 3 पी कॉम्पैक्ट हेडर कैसे जोड़ता हूं .. क्या कुकीज के पृष्ठों पर अलग-अलग शीर्षलेख होते हैं? –