用P3P实现隐私参数优选策略
用P3P实现隐私参数优选策略
Platform for Privacy Preferences(P3P,中文称隐私参数优选平台)是一种为网站说明隐私和/或用户信息策略的XML标准。采用P3P之后网站属主即可描述其网站所收集的信息内容及其用途,在没有实现P3P的情况下,有些用户在提交表单或者用cookie浏览网站时就只得把自己的安全选项设置为较低级别。而采用 P3P就可以通过建立代理(agent)的方式来代表用户参与网络活动。本文就是对P3P的基本概述。
经W3C宣布的P3P的5个目标如下:
收集网站数据的标准纲要,也就是所谓的P3P Base Data Schema
用途、收件人、数据类别以及其他涉及隐私暴露方面的标准集合
表达隐私策略的XML格式
把隐私策略关联网页、网站和cookie的方式
通过HTTP传输P3P策略的机制
P3P的实现
P3P的功能有三个部分组成:一个或者多个策略文件、策略参考文件和源自服务器的HTTP报头。策略文件应该存放在Web服务器的w3c目录下(/w3c)。
你不妨对你的网站计划和评估一下现有的隐私策略。如果没有这样的计划或者策略,那么在实现P3P之前你就应该制定相应的计划。隐私策略示例请见Sun网站。现在先让我们了解实现P3P的基本步骤。
1. 创建策略文件(Policy.p3p)
首先你必须创建一个策略文件。XML策略文件准确描述了信息的内容及其用途。记住,P3P采用了“只有得到承认的才是许可的”防范机制,这就是说,只有这个策略文件中描述过的数据才需要采集。P3P规范并没有说明怎样的数据及其处理过程不在包含范围之内。这样策略文件就会包含大量信息,好在IBM的P3P策略编辑器在你创建这类文件的时候可以帮上大忙。
策略文件至少包含了关于网站的声明语句。该语句的内容是采集何种数据以及如何使用它们的信息。清单A即是实现自己策略的示例。
采集的数据遵循P3P Base Data Schema规定的数据结构。假如实现了多个声明,那么各个声明的目的和数据列表是不同的(也许某个网站需要针对cookie、注册和购物采用不同的声明)。IBM的P3P策略编辑器并没有包含不被采集的特殊数据字段,不过,按照W3C提案的规定,我建议你包括网站采集到的特殊数据(比方说:“用户家庭住址”)。此外文件中最好还要包括Save Zone声明,Save Zone是网站上同具体用户无关的信息组成部分。
2. 创建策略参考文件(Policy.xml)
编写策略文件之后就必须接着创建策略参考文件了。不同的网站目录采取不同的隐私策略是完全可能的。可是,大多数网站通常会在整个网站范围内再适用单一的策略。创建策略参考文件就是这个过程中最简单一步,可是你得保证P3P策略文件的URL和策略名称(#generalPolicy)写对了。文件中包含的元素只是策略适用目录的路径。清单B中的策略参考示例则包含了根目录下的全部路径。
3. 配置服务器
实际上,要真正开始用到P3P你还得先配置你的服务器传递一个指向策略参考文件的HTTP报头。系统配置根据市售各类服务器的差别而不同。如果你不具备访问服务器的权限,那么你可能得使用<link>标签或编写相应的代码。
在下面的例子里,P3P是HTTP报头的名字。冒号以后的所有内容就是报头的值,它分成两个部分:指向策略参考的URL和简洁策略CP(Compact Policy)。
P3P:policyref="http://www.mysite.com/w3c/p3p.xml" CP="ALL DSP COR NID CUR OUR IND PUR"
CP是由3字符代码组成的列表(相关信息已经在W3C网站上进行了说明)。在上例中,该网站不定期地(INDefinite)为OUR公司收集购买商品项目(PURchasing)或完成当前活动(CURrent)的有关数据。有疑问(DiSPutes)、不可识别(Nonidentifiable)的数据作为cookie存储(NID)。由于我们的网站以cookie的方式存储客户号,所以NID应该从列表中删除。
CP应该匹配完整的策略;因此,如果你在CP中使用了NID,那么你应该在你的策略文件中包括<nonident/>标签。为了匹配这些设置而在下一节介绍的校验工具会对以上代码进行检查,如果有差异的话,Internet Explorer 6.0浏览器也会检查策略文件并且令策略文件无效。
如果你使用的共享服务器或者Web服务器难以配置HTTP报头,那么你不妨将其添加到你的 HTML或Java代码中。我就在自己的JSP文件中添加了下列代码:
response.setHeader("P3P","policyref=\"http://www.mysite.com/w3c/p3p.xml\" CP=\"ALL DSP COR CUR OUR IND PUR\"");
如果你的站点是基于HTML的,那么你也可以使用 <link> 标签:
<link rel="P3Pv1" href="/w3c/p3p.xml"></link>
检查和测试
IBM的P3P编辑器可以对你的P3P文件而整个隐私系统的实现进行检查。幸好,W3C在网上推出了一种检查工具。你不妨输入自己主页的URL看看检查工具是如何工作的。它会说明你的P3P实现中存在的语法或配置错误。此外,你也可以IE 6.0的菜单中选择View--> Privacy Report,列出全部站点,然后选择你的网站并单击Summary按纽查看你的隐私报告。
小结
最后,策略参考文件(P3P.xml)和策略文件(Policy.p3p)都被创建出来了。Policy.p3p文件是完整策略;它被P3P.xml(或 Policy.xml)引用,这个可以通过查看HTTP报头认识到这一点。W3C强烈建议你在Web服务器上把这些文件存放在一个/w3c目录下。如果每个人都在用着同一目录,那么,就算HTTP报头没被收到,用户代理也能找到这些文件。
分享到:
相关推荐
4. 生成头信息:P3P策略不仅存在于一个XML文件中,还需要在HTTP响应头中包含相应的信息。编辑器可以帮助生成这些头信息,以便浏览器能正确解析和显示隐私策略。 5. 管理多个策略:如果你的网站有针对不同地区的不同...
P3P头是一种HTTP头部信息,用于向浏览器声明网站的隐私策略。当浏览器接收到一个包含P3P头的页面时,它会检查该策略是否符合用户的隐私设置。如果策略符合,浏览器可能会允许来自不同源的Cookie被设置或读取。P3P头...
- P3P在现代Web开发中的使用并不广泛,对于隐私政策的管理,更多的网站转向使用其他机制,比如HTTP的`Access-Control-Allow-Origin`头部等。 - 在使用任何跨域技术时,开发者应确保遵守相关的隐私法律法规,避免...
标题中的“3f3_LCD_lcd1602_http://www.p3f3_STM8S003F3_STM8S003F3P6.rar_www”表明这是一个关于使用STM8S003F3或STM8S003F3P6微控制器与LCD1602显示器进行接口设计的项目。LCD1602是常见的16字符x2行液晶显示模块...
根据给定文件的信息,我们可以总结出关于RG-S2900G-E(P)系列交换机RGOS 10.4(2b12)p3版本命令手册的关键知识点: ### 版权声明与免责声明 该手册强调了版权归属锐捷网络所有,并且明确指出未经授权不得进行任何...
P3P允许网站通过发布一个XML格式的隐私策略文件(P3P策略文件),对网站如何收集、使用和分享用户数据进行说明。用户的浏览器或代理会读取这个策略文件,与本地存储的用户隐私偏好设置进行对比,从而决定是否接受...
合理的P3P声明是关键所在,它能允许浏览器在符合用户隐私政策的前提下,正确地处理来自第三方源的cookie,从而保持用户session的稳定性和应用的正常使用。这需要开发者既要了解Web技术的原理,又要关注用户隐私保护...
P3P 认证可以通过在服务器端设置 HTTP 头来实现,例如在 Java 中,可以使用以下代码来实现 P3P 认证: response.setHeader("P3P","CP=CAO PSA OUR"); 知识点四:跨域信息采集的定义和原因 跨域信息采集是指使用 ...
4. **P3P协议**:深入学习P3P协议的规范,包括隐私政策的表达、浏览器的P3P处理机制,以及如何在Java应用中实现P3P兼容性。 5. **网络编程**:熟练运用Java的Socket编程,理解TCP/IP通信过程,这对于构建P2P网络至...
1. **P3P(Platform for Privacy Preferences)**:这是一种由W3C提出的隐私偏好平台标准,允许跨域`cookie`的设置。通过在响应头中添加`P3P`政策,服务器告诉浏览器它尊重用户的隐私。但这并不总是有效,因为并非...
在ASP.NET中,可以通过 HttpContext 对象来操作HTTP请求和响应,例如添加P3P头信息以处理隐私策略。P3P(Platform for Privacy Preferences Project)允许网站提供简化的隐私政策声明。 HTTP请求头包含了多种信息,...
为了跨域共享Cookie,可以使用P3P(Platform for Privacy Preferences)协议,ASP.NET中可以通过设置Response.AddHeader方法添加P3P头信息来实现。 HTTP协议的其他高级特性包括HTTP/1.1的Keep-Alive连接,允许在一...
在PHP中,可以通过设置HTTP响应头中的P3P字段来启用这一功能: ```php header('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSPCOR"'); ``` 但这里有一个难题,即第三方...
Microsoft提供了一个较为直接的解决方案,即在frame内的第三方站点的响应头中添加特定的P3P(Platform for Privacy Preferences)策略声明。具体操作是在响应头中加入以下代码: ``` response.addHeader("P3P", "CP...
http://192.168.0.99/analytics/saw.dll?Go&Path=/shared/goxiangyibiaopan/SBDW_GSYDL_ZZT&Action=Navigate&P0=1&P1=eq&P2=SBDW.DDATE&P3=1+2008/06/26&NQUser=abcd&NQPassword=1234 参数的类型和格式 BIEE_仪表...
这段代码的作用是设置HTTP头中的P3P(Platform for Privacy Preferences Project)政策,允许不同域之间的iframe进行某些级别的数据共享,包括Session。P3P头的`CP`参数表示饼干(Cookie)策略,这里的`ALL ADM DEV ...
p0至p3 为线程参数 long型 返回值:线程句柄 long型 VB申明及参数示例: Public Declare Function CreateThreadE Lib "VBCreateThread.dll" (ByVal address As Long, ByVal p0 As Long, ByVal p1 As Long, ByVal p2 ...
- **地址**:150 Country Hills Landing NW, Calgary, Alberta, Canada T3K5P3 - **联系电话**:(403)248-0028 - **传真**:(403)248-2762 - **官方网站**:[www.microhardcorp.com](http://www.microhardcorp.com) ...
10. p3.py - "p"类别的第三个脚本。 根据这些Python脚本的命名规则,我们可以推断它们可能是一个有序的系列,每种类型的脚本("z"和"p")可能对应不同的功能领域。例如,"z"系列可能处理数据处理或算法,而"p"系列...