P3P
P3P是一 被 人 私安全平 目(the Platform for Privary Preferences)的 ,能 保 在 私 ,使Internet 浪者可以 在 ,是否被第三方收集 利用自己的 人信息。如果一 站 不遵守P3P 的 ,那 有 它的Cookies 被自 拒 , 且P3P 能 自 破多 Cookies的嵌入方式。P3P是由全球 盟 所 的。
例子
面存在iframe ,想要 取iframe框架 面的cookie,就要在iframe相 的 面 面添加P3P Header信息,否 在IE下 取不到。因 IE有安全策略,限制 面不保存第三方cookie(注: 前 面 第一方cookie,第三方cookie就是 前 以外的其他 的cookie)。
<?php
//http://www.a.com/a_setcookie.php 文件内容:
setcookie("test", "testval", time()+3600, "/", ".a.com");
//http://www.a.com/a_getcookie.php 文件内容:
var_dump($_COOKIE);
/*-----------------------------------------------------------------------
http://www.b.com/b_setcookie.php 文件内容:
<iframe src="http://www.a.com/a_setcookie.php?id=www.b.com"></iframe>
通过浏览器访问: http://www.b.com/b_setcookie.php
http://www.a.com/a_getcookie.php在访问 b.com域后,我们并没有在 a.com域发现设置上cookie值。
将http://www.a.com/a_setcookie.php文件内容改为如下:
--------------------------------------------------------------------------*/
header('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"');
setcookie("test","testval", time()+3600, "/", ".a.com");
//再次访问:http://www.b.com/b_setcookie.php
//http://www.a.com/a_getcookie.php在访问b.com域后,设置了a.com域的cookie值。
JS使用P3P协议
xmlhttp.setRequestHeader( "P3P" , 'CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"' );