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. MIME类型

    多用途互联网邮件扩展(MIME,Multipurpose Internet Mail Extensions)是一个互联网标准,它扩展了电子邮件标准,使其能够支持非ASCII字符.二进制格式附件等多种格 ...

  2. Oracle DB 分区特性概述 Overview of Partitions

    概述:在Oracle数据库中,分区(partitioning)可以使非常大的表(table)或索引(index)分解为小的易管理的块(pieces),这些块被称作分区(partitions).每个分区 ...

  3. 菜鸟学习Hibernate——简单的一个例子

    一.Hibernate开发. 上篇博客已经为大家介绍了持久层框架的发展流程,持久层框架的种类. 为了能够使用Hibernate快速上手,我们先讲解一个简单的Hibernate应用实例hibernate ...

  4. iOS开发之构建Widget

    原文出处: 陈凯 在 jianshu 的博客(@chenkaiHome)   欢迎分享原创到伯乐头条 伴随这iOS 8 系统多达4000项API更新而来同样还有Today Extension.而对iO ...

  5. c/c++常用代码 -- ini文件操作

    #pragma once #include <string> #include <sstream> typedef std::basic_string<TCHAR> ...

  6. 35.在PCB中删除元件

    在PCB Editor里面,如果想进行什么操作,首先得点击这个命令,再点击你要操作的区域/元件,最后右键选择"Done",这样你才能完成一个操作.

  7. arm-elf-gcc汇编代码个人理解

    arm-elf-gcc汇编代码个人理解 有关arm-elf-gcc的安装使用问题请参照本人博客的另一篇文章http://www.cnblogs.com/wsine/p/4664503.html 由于各 ...

  8. C语言中函数有输出参数

    #include "stdio.h"void set(int *ch,int a,int *c,int *d){ c[0]=12; c[1]=133; c[2]=14; ch[0] ...

  9. Mono for Android (2)-- Android应用程序初认识

    一:日志记录 先添加using Android.Util; 在该命名控件下有log类 Log.Info("HA", "End onCreate"); //记录消 ...

  10. .gitignore无效,不能过滤某些文件

    利用.gitignore过滤文件,如编译过程中的中间文件,等等,这些文件不需要被追踪管理. 现象: 在.gitignore添加file1文件,以过滤该文件,但是通过git status查看仍显示fil ...