美文网首页PHP经验分享
跨域名的cookie技巧

跨域名的cookie技巧

作者: PHP的艺术编程 | 来源:发表于2018-12-06 14:36 被阅读11次
cookie编码注意
cookie的名/值对中的值不允许出现分号、逗号和空白符,因此在设置cookie前要用encodeURIComponent()编码,读取时再用decodeURIComponent()解码。
cookie的有效期
cookie默认的有效期是浏览器会话期间,作用域是整个浏览器而不仅仅局限于窗口或标签页。若要延长cookie的有效期,可以设置max-age属性。
cookie的domain和path属性:
1、domain
表示cookie所在的域,默认为请求的地址,如网址为JavaScript.exam.cn/JavaScript/read.html,那么domain默认为JavaScript.exam.cn。如域A为catagory.exam.cn,域B为JavaScript.exam.cn,那么在域A生产一个令域A和域B都能访问的cookie就要将该cookie的domain设置为.exam.com;如果要在域A生产一个令域A不能访问而域B能访问的cookie就要将该cookie的domain设置为JavaScript.test.com。
2、path
表示cookie所在的目录,默认为/,就是根目录。如在同一个服务器上有目录/JavaScript/,/JavaScript/dir1/,/JavaScript/dir2/,现设一个cookie1的path为/JavaScript/,cookie2的path为/JavaScript/dir1/,那么JavaScript下的所有页面都可以访问到cookie1,而/JavaScript/和/JavaScript/dir2/的子页面不能访问cookie2。这是因为cookie能让其path路径下的页面访问。

默认情况下,cookie对创建它的页面和域与创建它的页面在同一目录的其他页面以及创建它的页面所在目录的子目录的其他页面可见,例如,localhost/JavaScript/write.html创建的cookie对localhost/JavaScript/read.html和localhost/JavaScript/catagory/read.html都是可见的,但对localhost/read.html不可见。



可以设置cookie的path属性,只要以path指定的路径前缀开始的同一服务器的页面均可见cookie,例如,设置path=/JavaScript,则localhost/JavaScript/catagory/write.html创建的cookie对localhost/JavaScript/read.html也是可见的;设置path=/,则cookie对localhost这台服务器上的页面均可见。

一级域名相同,只是二级域名不同的情况下,浏览器允许通过设置document.domain共享Cookie。也就是说,Cookie只能跨二级域名来访问,不能跨一级域名来访问。

catagory.exam.cn要读取JavaScript.exam.cn设置的cookie值,可以将path设置为/,domain设置为exam.cn,则JavaScript.exam.cn设置的cookie对catagory.exam.cn甚至其它所有.exam.cn的服务器都可见。

相关文章

  • 跨域名的cookie技巧

    cookie编码注意 cookie的有效期 cookie的domain和path属性: 1、domain 2、path

  • WebView问题

    1,跨域访问cookie 是什么域名(domain)? 域名级别规则 顶级域名 一级域名 二级域名 三级域名什么区...

  • 子系统的跨站登录总结

    一 起因最近做子系统的跨站登录,方案有几种1 OAuth 2.0,可跨不同域名2 子域名共享cookie,只能子域...

  • ios上跨域设置cookie的问题

    原来设置cookie的时候,只是设置了子域名(例如m.abc.com),后来需要跨域(整个域名有效),就将NSHT...

  • php单点登录

    PHP不同域名cookie共享(单点登录实现原理) PHP使用P3P完成COOKIE跨域操作 实际实用中,类似的需...

  • 跨域

    同域 协议 域名 端口 为什么浏览器不支持跨域? cookie LocalStorageDom元素...

  • localstorage和cookie的跨域解决方案

    cookie跨域 业务场景 场景1: 同一个主域下边的跨域问题 百度www域名下边登录了,发现yun域名下面也自...

  • 如何跨域名共享Cookie?

    假设有一个博客服务,域名为 blog.abc.com,另有一个鉴权服务,域名为 login.abc.com,如何共...

  • 深入理解Cookie和Session机制

    目录Cookie机制什么是CookieCookie的不可跨域名性Unicode编码:保存中文BASE64编码:保存...

  • cookie跨域共享

    问题描述 需要解决前端pc跟服务端(java),跨域后都能获取到同一个cookie。使用二级域名共享cookie有...

网友评论

    本文标题:跨域名的cookie技巧

    本文链接:https://www.haomeiwen.com/subject/gexwcqtx.html