set cookie 的 domain 详解 一定条件可以实现 共享 cookie
出于对浏览器cookie的保护,cookie无法设置除当前域名或者其父域名之外的其他domain.,也就是cookie无法跨域设置。
1. 在 setcookie 中省略 domain 参数,那么 domain 默认为 当前域名。
2. domain参数可以设置父域名以及自身,但不能设置其它域名,包括子域名,否则 cookie 不起作用。
cookie 的作用域 : domain本身以及domain下的所有子域名。
1. cookie 实验证明
假入有如下域名:
zydya.com
blog.zyday.com
one.blog.zyday.com
a. 在 zyday.com 域名下设置 cookie
总结:
当 domain 设为空时,domain 默认为当前域名,并且该域名下的子域名都可以接收到cookie。
当 domain 参数设置其子域名时,所有域名就接收不到了,包括那个子域名。
b. 在 blog.zyday.com 域名下设置 cookie
总结:
domain 参数是 zyday.com(其父域名),那么 zyday.com 下所有子域名(包括 zyday.com、blog.zyday.com、one.blog.zyday.com)都能接收到 cookie。
当 domain 为自身域名时,那么其父域名不受影响,其本身与其子域名可以接收到 cookie。
设置其子域名或其他域名时,所有域名都接收不到 cookie了。
c. 在 one.blog.zyday.com 域名下设置 cookie
总结:
同 2
2. 应用场景( cookie 共享)
做一个平台,存储各个 第三方系统的,账号/密码; 以此实现免登录(平台帮你登录)。
如果彼此间是兄弟域名,那么ok;
如果两个域名,可以搭建 bind 搞个 假域名跳转实现。
参考
https://blog.csdn.net/bigcakewshwl/article/details/51793931
共 0 条评论