django p3p使设置p3p http头更容易防止会话丢失。
django-p3p的Python项目详细描述
关于django p3p
如果你的网页使用会话,当你的网页嵌入iframe中时,你将失去你在internet explorer中的会话。这个问题可以通过设置特定于应用程序的P3P headers来解决。
django p3p是一个应用程序,它使为django应用程序设置那些特定的头变得更容易。您可以使用类似于IBM的p3p策略编辑器的编辑器来配置您的网站策略以满足其需要。
要求
django 1.8.x或更高版本,python 2.7或更高版本。
安装
安装django-p3p,pip:
$ pip install django-p3p
配置
配置django-p3p
将以下内容添加到您的设置文件中:
- Add ^{tt1}$ to ^{tt2}$
- Add ^{tt3}$ to ^{tt4}$
url配置
您需要在根url配置中包含p3p.urlsurlpatterns,例如:
(r'^w3c/', include('p3p.urls', namespace='p3p')), ... (r'^admin/', include(admin.site.urls)),
覆盖模板
您需要覆盖至少2个模板来配置项目特定的http头和策略:
- templates/p3p/headers.txt
包含发送到浏览器的实际http头。例如:CP="NOI CURa ADMa DEVa TAIa CONa OUR DELa BUS IND PHY ONL UNI PUR COM NAV DEM STA"
- templates/p3p/policy.p3p
包含应用程序所需的策略。您可以使用ibm p3p策略编辑器生成一个。
注意
为了防止默认使用,我将初始模板大部分留空。主要是因为每个应用程序都有自己的特定策略,它要求您思考哪些策略适合您的网站。