通过P3P协议,实现跨域set cookie,解决同域IFRAME中SESSION传递失效问题
2010-03-05 11:10
603 查看
在之前的项目中,遇到这个一个问题,实现跨域跨服务器间进行通信.虽然在之前简老师有和我说过通行证的原理,因为没有进行过实际的操作,也没有太大的把握可以通过通行证的方式实现这个需求.上网找了一下资料,发现有P3P的这个协议,它的定义是:
P3P是万维网联盟(W3C)公布的一项隐私保护推荐标准,旨在为网上冲浪的Internet用户提供隐私保护。现在有越来越多的网站在消费者访问时,都会收集一些用户信息。制定P3P标准的出发点就是为了减轻消费者因网站收集个人信息所引发的对于隐私权可能受到侵犯的忧虑。P3P标准的构想是:Web 站点的隐私策略应该告之访问者该站点所收集的信息类型、信息将提供给哪些人、信息将被保留多少时间及其使用信息的方式,如站点应做诸如 “本网站将监测您所访问的页面以提高站点的使用率”或“本网站将尽可能为您提供更合适的广告”等申明。访问支持P3P网站的用户有权查看站点隐私报告,然后决定是否接受cookie或是否使用该网站。
最后我决定用跨域设置cookie实现这一需求.
首先我们假设有A站(www.aaa.com)和B站(www.bbb.com),两个站点在不同服务器且不同域下,我们在A站下新建一个setcookie.php文件,代码如下:
<?php
header(‘P3P: CP=”CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR”‘);
$cookie_name=$_GET['name'];
$cookie_value=$_GET['value'];
setcookie($cookie_name, $cookie_value,time()+3600);
?>
接下来我们在B站下新建一个文件叫b_setcookie.php的文件,代码如下:
<?php
<script src=”http://www.aaa.com/setcookie.php?name=test&value=bbb.com”></script>
?>
好,现在我们在A站下再新建一个文件叫getcookie.php的文件,代码如下:
<?php
echo ‘<pre>’;
print_r($_COOKIE);
?>
现在我们先在浏览器访问B站的b_setcookie.php文件,然后再访问A站的getcookie.php文件,看是否会打印相应的cookie值出来.
P3P是万维网联盟(W3C)公布的一项隐私保护推荐标准,旨在为网上冲浪的Internet用户提供隐私保护。现在有越来越多的网站在消费者访问时,都会收集一些用户信息。制定P3P标准的出发点就是为了减轻消费者因网站收集个人信息所引发的对于隐私权可能受到侵犯的忧虑。P3P标准的构想是:Web 站点的隐私策略应该告之访问者该站点所收集的信息类型、信息将提供给哪些人、信息将被保留多少时间及其使用信息的方式,如站点应做诸如 “本网站将监测您所访问的页面以提高站点的使用率”或“本网站将尽可能为您提供更合适的广告”等申明。访问支持P3P网站的用户有权查看站点隐私报告,然后决定是否接受cookie或是否使用该网站。
最后我决定用跨域设置cookie实现这一需求.
首先我们假设有A站(www.aaa.com)和B站(www.bbb.com),两个站点在不同服务器且不同域下,我们在A站下新建一个setcookie.php文件,代码如下:
<?php
header(‘P3P: CP=”CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR”‘);
$cookie_name=$_GET['name'];
$cookie_value=$_GET['value'];
setcookie($cookie_name, $cookie_value,time()+3600);
?>
接下来我们在B站下新建一个文件叫b_setcookie.php的文件,代码如下:
<?php
<script src=”http://www.aaa.com/setcookie.php?name=test&value=bbb.com”></script>
?>
好,现在我们在A站下再新建一个文件叫getcookie.php的文件,代码如下:
<?php
echo ‘<pre>’;
print_r($_COOKIE);
?>
现在我们先在浏览器访问B站的b_setcookie.php文件,然后再访问A站的getcookie.php文件,看是否会打印相应的cookie值出来.
相关文章推荐
- iframe跨域与session失效问题的解决办法
- IFrame引用跨域站点页面时,Session失效问题解决
- IFrame引用跨域站点页面时,Session失效问题解决
- IE下IFrame引用跨域站点页面时,Session失效问题解决
- IFrame引用跨域站点页面时,Session失效问题解决
- iframe跨域与session失效问题的解决办法
- IE下iframe跨域session和cookie失效问题的解决方案
- 异步 HttpContext.Current实现取值的方法(解决异步Application,Session,Cache...等失效的问题)
- iframe中的session失效问题情况描述和解决
- 用P3P header解决IE下iframe跨域访问时候session丢失的问题
- IE下PHP iframe跨域导致session丢失问题的解决方法
- PHP关于IE下的iframe跨域导致session丢失问题解决方法
- 解决iframe中的session失效问题
- 通过document.domain + iframe解决跨域问题
- 用P3P header解决iframe跨域访问cookie(转) Iframe session失效
- 利用iframe解决跨域信息传递问题
- 用P3P header解决IE下iframe跨域访问时候session丢失的问题
- PHP关于IE下的iframe跨域导致session丢失问题解决方法
- IFrame引用跨域站点页面时,Session失效问题