域名城

{转}通过P3P协议,实现跨域setcookie

已有 735 次阅读2011-5-6 20:35 |个人分类:php|

在之前的项目中,遇到这个一个问题,实现跨域跨服务器间进行通信.虽然在之前简老师有和我说过通行证的原理,因为没有进行过实际的操作,也没有太大的把握可以通过通行证的方式实现这个需求.上网找了一下资料,发现有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值出来.

完了,代码没有经过测试,只是凭我自己的记忆,希望不会怱悠到大家啦,呵呵!如果有错,欢迎指出,谢谢!



路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

易介集团旗下品牌 - 域名城| 国域| 中付通| 中介通| 中华知识产权网| 商标城| DoName| 域名论坛

电信与信息服务业务经营许可证 京ICP证090790号  京ICP备10003495号  电信业务审批[2010]字第598号函  京公网安备110108903585号

Archiver|手机版|小黑屋|侵权投诉|Club.domain.cn 中国域名论坛 论坛管理员邮箱:club@domain.cn

Powered by Discuz!X3.2GMT+8, 2024-5-2 14:42 © 2001-2024 Comsenz Inc.

返回顶部