前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >初识P3P

初识P3P

作者头像
py3study
发布2020-01-06 15:29:22
1.6K0
发布2020-01-06 15:29:22
举报
文章被收录于专栏:python3python3

Google 标签: P3P, 第三方cookie, 隐私策略, http head

P3P主要应用于网站跨域访问方面,全称为隐私偏好设定平台(platform for privacy preference, P3P)。而谈到P3P就不得不提cookie。目前大部分网站应用都使用cookie进行某种行为,比如用户信息收集、用户上网行为分析以及session保持等等。但是在某些情况下,用户是不愿意使用cookie的。而禁止cookie又会妨碍用户使用某些重要的网站比如在线银行、网上购物等。所以微软从ie6开始启用P3P并可以自定义隐私策略来使用cookie,而Netscape 公司早在2002 年5 月便发布了Netscape Navigator 7 软件的测试版,该软件包括与IE6十分相近的P3P功能。

以IE7为例,我们来看看隐私策略的设置:

p_w_picpath
p_w_picpath

默认情况下,ie7启用隐私策略为中。可以看到有两个阻止一个限制。

这里解释一下第一方cookie和第三方cookie。第一方cookie是指你当前访问的站点的cookie。而第三方cookie是指不是你当前访问的站点的cookie。比如你当前访问的是[url]www.abc.com[/url],但是在这个网站上嵌入了其他网站(比如[url]www.xyz.com[/url]),那么属于abc.com这个域cookie就是第一方cookie,而属于xyz.com这个域的cookie就属于第三方cookie。

再来解释有两个阻止一个限制: 第一个阻止(阻止没有紧凑隐私策略的第三方cookie),即为ie7发现存在没有紧凑隐私策略的第三方cookie时就将这个cookie在http的request中删除然后进行http请求(get或者post),“没有紧凑隐私策略”是指没有被P3P声明; 第二个阻止(阻止保存...),即不保存这样的第三方cookie,因为有些cookie是有有效期的; 第一个限制(限制保存...),即不保存这样的第一方cookie。

使用“中”的隐私策略等级,可以阻止任何没有被P3P声明的第三方cookie。可以通过ie浏览器的任务栏上面的“眼睛”来查看都阻止了哪些cookie。而有些业务又必须保证这些cookie不被拦劫,那这个时候就需要使用P3P了。

P3P通过为隐私策略提供一个标准的可机读格式,以及一个能使Web浏览器自动读取和处理策略的协议解决了这个问题。正因为此,万维网联盟(World Wide Web Consortium,W3C)制定了P3P,并把它作为Web 站点与它们的隐私策略相联系的标准方法。P3P可以启用可机读的隐私策略,而该隐私策略可以由Web浏览器和那些能显示符号、提示用户或采取其他适当行动的用户代理工具来自动获取。其中的一些工具也可以将各个策略与用户的隐私偏好相比较,并帮助用户决定何时与Web站点交换数据。

那么P3P到底是怎样工作的呢?这里只涉及到P3P的工作原理,如何实现P3P是需要写程序的,而程序本人一窍不通,所以不做介绍,有兴趣的可以google一下,到处都是。

上面提到了第三方cookie被P3P声明。P3P声明是什么意思呢?其实就是指在某一个HTTP的response的头部插入一个P3P的头,而在同一个response中的cookie就都被此P3P声明了。这个可以通过httpwatch来查看到。

p_w_picpath
p_w_picpath

IE浏览器看到这个response中包含有P3P的头,默认就将后面的cookie(cookie1,cookie2等第三方cookie)全部认为可信,后续的request中就会带下这些cookie一起下发请求。但是如果后续的某一个response中没有P3P头部,而同样设置了cookie1,那么在此response后续的request中就不会带有这个cookie1了。所以如果需要使得每次request都带有这些cookie,有两种方法:一是在一个response里插入P3P的同时插入所有相关的cookie,而后续的response中不要在插入这些cookie;而是在每个response中都是插入P3P头。一般情况下使用第二种比较保险。

P3P就介绍到这里,更多请参考[url]http://www.w3.org/P3P/[/url]

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档