P3P是一种被称为个人隐私安全平台项目(the Platform for Privacy Preferences)的标准,能够保护在线隐私权,使Internet冲浪者可以选择在浏览网页时,是否被第三方收集并利用自己的个人信息。如果一个站点不遵守P3P标准的话,那么有关它的Cookies将被自动拒绝,并且P3P还能够自动识破多种Cookies的嵌入方式。p3p是由全球资讯联盟网所开发的。

1概念

P3P

随着Internet的发展,电子商务发展势头也异常迅猛。这种新的贸易方式在带给人们难以想象的便利前提下,也给人们带来了以往现金交易模式下所没有的麻烦——通过网络泄露个人隐私数据。(Platform for Privacy Preferences)正是一种可以提供这种个人隐私保护策略,并且正在被越来越多的技术人员接受的新技术。

用途举例

举个例子,进入药店,店员彬彬有礼的笑脸相迎:“尊敬的XX,欢迎您第X次光临本店,上次您在我们这里购买XX药品,本店对这种病又进了一些疗效突出的新药,需要我带路吗?”尽管店员微笑服务,但大家是否有一种隐私被窥探的感觉?在家中,我们可以放下厚厚的窗帘,但是在网上,我们早已在不知不觉中把自己出卖。当我们进入网站,就开始被跟踪,机器忠实地记录着你所浏览过的网页和商品,而这一切都是我们不希望发生的。
其实,用户对网络隐私的担心和忧虑,主要是缺乏对所填写信息是否受到保护的了解。如果网络能够让用户清晰地明白网站会将用户个人信息做何种处理,用户就会感觉到放心多了。

2工作方式

P3P提高了用户对个人隐私性信息的控制权。用户在P3P提供的个人隐私保护策略下,能够清晰地明白网站对自己隐私信息做何种处理,并且P3P向用户提供了个人隐私信息在保护性上的可操作性。
P3P(Platform for Privacy Preferences)正是一种可以提供这种个人隐私保护策略,并且正在被越来越多的技术人员接受的新技术。
从技术上看,P3P包括了两个组件:一个放在服务器端;另外一个放在客户端,形成一个用户代理。当用户登陆网站的时候,服务器端的组件根据网站的要求,会自动生成XML语言形式的用户个人处理策略,这就像是贴在商店橱窗外的公众告示,而客户端的组件就将这个“公众告示”提供给用户。P3P是一个扩展语法和数据元集,它受RDF(Resource Description Framework,资源描述框架) 语言的规范。它允许用户通过浏览器与网站,通过临时或是成对的ID(TU ID/PU ID)进行协商,以明确可以透露哪些个人信息并且作何用途 。临时ID仅可以持续一个用户对话期,而成对的ID则可以维持多个对话期,这些ID并不带有辅助数据,而且不会被储存。 双方最终通过一个双向的选择达成用户个人隐私策略。P3P并不会使现有的PICS(Platform for Internet Content Selection因特网内容选择平台)标准失效,它仅仅是一个内容标记方案。RDF和XML目前虽然并未被PICS采用,但会在其未来的版本中派上用场。
P3P的工作方式为:得到P3P软件的用户可以将他的个人隐私偏好设定在该软件的选项中,软件默认值设定为:当任何网站收集或贩卖个人网上信息的时候,禁止进入该站点或者提醒用户。一旦设定,该软件将同用户的浏览器程序一同运行,每一个受访的站点都会发送某种形式的机器语言提议到用户的电脑中,这个提议包括了网站需要用户提供的个人隐私信息以及对这些信息所做的处理。如果该站点的信息收集行为同用户的P3P中设定的标准相符,则两者之间关于个人隐私信息的协定就可以自动地缔结,而用户亦可毫无阻碍地浏览该站点;但是如果不符,P3P将会用红绿灯的简单方式提醒用户,用户必须迅速地决定是否对自己制定的个人隐私策略作出修改以进入该网站,这通常会以对话框的形式出现,目的是方便用户做出选择。
P3P并不向所有的用户提供任何的强制力,那么当网站的行为违背了它自己的承诺怎么办呢?比如:它向用户承诺不将用户的个人隐私数据做任何第二用途,因此用户向它提交了个人隐私数据,然而网站却私下又将这些数据转卖给其他的商业组织或个人。P3P在内部设置了一个仲裁小组,这个仲裁小组要求网站向它提供用户和网站对个人隐私数据的第二用途发生争执时的解决方法,而且还包括当用户发现网站违反了双方达成的个人隐私策略时,网站应该向用户提供的补偿办法。
如果在线个人隐私能够真正得到切实有效的保护,则有望使更多的消费者对基于Internet的电子商务充满信心并参与其中,从而为电子商务的长远发展奠定基石。

p3p之讲解的更多相关文章

  1. PHP与API讲解(一)

    了解API: 在使用与创建自己的API之前我们需要先了解什么是API! API代表应用程序编程接口,而接口指的是一个特定的服务.一个应用程序或者其他程序的公共模块. 理解SOA(面向服务的架构):SO ...

  2. 微信小程序(微信应用号)组件讲解

    这篇文章主要讲解微信小程序的组件. 首先,讲解新建项目.现在有句话:招聘三天以上微信小程序开发,这个估计只能去挖微信的工程师了.技术新,既然讲解,那我们就从开始建项目讲解. 打开微信web开发者工具, ...

  3. 免费公开课,讲解强大的文档集成组件Aspose,现在可报名

    课程①:Aspose.Total公开课内容:讲解全能型文档管理工具Aspose.Total主要功能及应用领域时间:2016-11-24 14:30 (暂定)报名地址:http://training.e ...

  4. EventBus总线讲解

    在我们公司经常用到总线,具体的总线是什么让我理解我也不清楚,但是在这几个月下来,我已经知道总线如何使用,现在加上示例讲解总线如何使用. 1. 首先我们的新建一个类,这个类其实是用于总线传递的模型 us ...

  5. FTP的搭建与虚拟目录作用<之简单讲解>

    操作系统:win7 VS2010编写WebService与在IIS的发布<之简单讲解>中我已经说了IIS安装与使用,不明白的可以跳过去看. 1.添加FTP站点 2. 3. 4. 5. zq ...

  6. Restful 介绍及SpringMVC+restful 实例讲解

    restful不是一个框架,称为一种编码更烦更贴切吧,其核心类位于spring-web.jar中,即RestTemplate.class restful是rpc通过http协议的一种实现方式,和web ...

  7. 实例讲解react+react-router+redux

    前言 总括: 本文采用react+redux+react-router+less+es6+webpack,以实现一个简易备忘录(todolist)为例尽可能全面的讲述使用react全家桶实现一个完整应 ...

  8. 【Spring】SpringMVC入门示例讲解

    目录结构: // contents structure [-] SpringMVC是什么 Spring MVC的设计原理 SpringMVC入门示例 1,复制Jar包 2,Web.xml文件 3,My ...

  9. 十种MYSQL显错注入原理讲解(二)

    上一篇讲过,三种MYSQL显错注入原理.下面我继续讲解. 1.geometrycollection() and geometrycollection((select * from(select * f ...

随机推荐

  1. PHP+ajax聊天室源码!支持长轮循跟定时请求两种

      var lastID = "1";//声明上次取回的消息的ID var isposted = false; var mGetTime;//设置setTimeout的返回值 // ...

  2. 在 PHP 中结合 Ajax 技术进行图片上传

    前面几则日志中讲述了在 PHP 中上传文件,相信大家对 PHP 中如何进行文件上传已经初步掌握.本文来继续探讨在 PHP 中上传文件的技术,不同的是,本次上传将仅限于图片文件的上传,并且将采用 Aja ...

  3. 发布阿里云OSS for phpcmsV9整合教程

    说明:这个算不上是插件,因为没有安装包,需要手工修改代码. 还有一点就是后台发布文章时上传的附件还是会保存在你的服务器上,基于以下原因: 1.个人的需求是前台页面需要使用thumb函数生成多个缩略图大 ...

  4. VMT & DMT

    虚拟方法表和动态方法表 虚拟方法表VMT: 一个虚拟方法表从指针所指地址的负偏移.76 处开始,长度动态分配(由虚拟方法的个数确定).虚拟方法表被分为很多小段,每段占4 个字节,也就是众多指针.每个指 ...

  5. java作用域public ,private ,protected 及不写时的区别(转)

    在说明这四个关键字之前,我想就class之间的关系做一个简单的定 义,对于继承自己的class,base class可以认为他们都是自己的子 女,而对于和自己一个目录下的classes,认为都是自己的 ...

  6. 网页绘制图表 Google Charts with JavaScript #2 ....与ASP.NET网页结合 (ClientScriptManager.RegisterStartupScript 方法)

    此为文章备份,原文出处(我的网站) 网页绘制图表 Google Charts with JavaScript #2 ....与ASP.NET网页结合 (ClientScriptManager.Regi ...

  7. Redhat 6环境下安装Oracle 12c的方法

    Step 1: 要在Linux上安装Oracle,需要在安装Oracle之前安装好相应的软件包,在不同操作系统环境下,对软件包的要求各不相同.具体对应的软件包,见官网文档:https://docs.o ...

  8. hashCode()和toString()

    hashCode函数和toString函数也在Object类中,同样,所有的类都继承了这2个函数. hashCode函数用于生成哈希码,没有参数,返回值为整型 把u的值作为键存入map中,使用get方 ...

  9. 自定义debug信息

    #ifdef  DEBUG  #define debug(fmt,args...)  printk(fmt ,##args)  #define debugX(level,fmt,args...) if ...

  10. VC++编程中为程序加入启动画面功能

     如何为自己的程序加入启动画面 观察我们平常使用的软件,当我们双击软件的时候,会在主界面出现前,先行出现一个启动画面,由于前一阵子写了一个基于对话框的程序,亲自实验了下,今天就为大家简单的介绍下,在我 ...