Настройка Компактной Политики конфиденциальности с помощью Django

StackOverflow https://stackoverflow.com/questions/1765538

  •  21-09-2019
  •  | 
  •  

Вопрос

Как мне настроить политику конфиденциальности P3P compact от Django, чтобы IE принимал файлы cookie с моего сайта, когда настройки безопасности находятся на ВЫСОКОМ уровне, т.е.файлы cookie не принимаются, если не существует Четкой Политики конфиденциальности.

Твое здоровье Парень

Это было полезно?

Решение

Промежуточное программное обеспечение - предпочтительный способ делать подобные вещи на основе "каждого запроса".Например, вот простой фрагмент промежуточного программного обеспечения для добавления одного и того же (примерного) заголовка P3P к каждому ответу, генерируемому Django:

В 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:

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

Чтобы немного расширить тему, файлы cookie и заголовки, такие как заголовок P3P, отправляются одновременно, как часть ответа;фактически, под капотом файлы cookie устанавливаются с другим заголовком ответа.Вы можете увидеть заголовок файла cookie с помощью 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.org/TR/P3P11/#Well_Known_Location

Вы разместили файл по адресу /w3c/p3p.xml

Похоже, что политики p3p аналогичны файлам robots.txt.

Кроме того, вы можете установить заголовки P3P все ваши страницы, если способ robots.txt не так, как вы хотите идти.Однако это побочное замечание, поскольку вам нужна компактная версия, которая, как я предполагаю, является файлом p3p.xml.

Надеюсь, это поможет вам встать на правильный путь.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top