• php通过p3p头解决cookie跨域访


       php中通过设置p3p头解决cookie跨域访问问题:

        大家都知道cookie是不能跨域的,但可以通过设置p3p头来解决这个问题。

        为了测试先编辑hosts文件,加入测试域名(在C:\WINDOWS\system32\drivers\etc\hosts)

        127.0.0.1 www.a.com

        127.0.0.1 www.b.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", $_GET['id'], time()+3600, "/", ".a.com");

        然后:创建 a_getcookie.php 文件,内容如下:

        var_dump($_COOKIE);

        最后:创建 b_setcookie.php 文件,内容如下:

        三个文件创建完毕后,我们通过浏览器依次访问托福改分 托福答案

        我们会发现,在访问b.com域的时候,我们并没有在a.com域设置上cookie值。

        然后我们修改一下a_setcookie.php文件,去掉注释符号,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", $_GET['id'], time()+3600, "/", ".a.com")雅思改分 雅思答案

        再次通过浏览器依次访问:

        这次,你会发现在访问b.com域的时候,我们设置了a.com域的cookie值。

        似乎只有IE对跨域访问COOKIE限制比较严格,上述代码在FIREFOX下测试,即使不发送P3P头信息,也能成功。

  • 相关阅读:
    redis应用场景
    redis 持久化
    vue.jsv-if 的key值问题
    laravel 上线注意事项 (ubuntu lamp)
    laravel 不同表用户登录,后台跳转问题
    Laravel 5.5 不同用户表登录认证(前后台分离)
    记录laravel 数据填充问题
    Git 版本控制器详解
    Ubuntu Apache多站点配置
    Spring的注解@Qualifier小结
  • 原文地址:https://www.cnblogs.com/haosola/p/2941609.html
Copyright © 2020-2023  润新知