سؤال

كيف يمكنني تعيين سياسة خصوصية مضغوطة P3P من Django بحيث تقبل IE ملفات تعريف الارتباط من موقعي عندما تكون إعدادات الأمان عالية - أي لم يتم قبول ملفات تعريف الارتباط ما لم تكن هناك سياسة خصوصية مدمجة.

هتاف الرجل

هل كانت مفيدة؟

المحلول

الوسيطة هي الطريقة المفضلة للقيام بأشياء مثل هذه على أساس "كل طلب". على سبيل المثال ، إليك جزء بسيط من الوسيطة لإضافة رأس P3P نفسه (مثال) إلى كل استجابة ينشئها Django:

في الإعدادات.

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

في myapp/middleware.py:

from django.conf import settings

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

يمكنك أيضًا الحصول على تأثير مماثل في عرض واحد عن طريق تعيين رأس P3P في الاستجابة:

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

للتوسع في الموضوع قليلاً ، يتم إرسال ملفات تعريف الارتباط والرؤوس مثل رأس P3P في نفس الوقت ، كجزء من الاستجابة ؛ في الواقع ، تحت الغطاء ، يتم تعيين ملفات تعريف الارتباط برأس استجابة آخر. يمكنك رؤية رأس ملف تعريف الارتباط باستخدام 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

نصائح أخرى

لا أعرف الكثير عن P3P لكنني فعلت القليل من الحفر ووجدت هذا:

http://www.w3

قمت بوضع الملف على /w3c/p3p.xml

يبدو أن سياسات P3P تشبه ملفات Robots.txt.

بالإضافة إلى ذلك ، يمكنك تعيين رؤوس P3P على جميع صفحاتك إذا لم تكن طريقة Robots.txt هي الطريقة التي تريد الذهاب إليها. ومع ذلك ، فهذا أمر جانبي ، نظرًا لأنك تريد الإصدار المدمج الذي أفترض أنه ملف p3p.xml.

آمل أن يساعدك هذا في الحصول على المسار الصحيح.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top