一、需求
一级域名test.com和二级域名in.test.com都有登录页面,登录的cookie不能相互影响

二、实现

一级域名test.com的cookie名称token=1,二级域名in.test.com的cookie名称cookie名称token=2

php端获取cookie时使用$_COOKIE获取,$_COOKIE是个数组,$_COOKIE['token']根据域名和cookie顺序的影响,可能取到 的是1或者2,这样就会影响登录。

js里获取cookie 同理,获取到的cookie值也可能取到 的是1或者2

三、解决

  1. 避免命名冲突:这种覆盖行为是潜在的Bug来源。最佳实践是为不同作用域的Cookie使用不同的名称

    • 例如:

      • 全局用户Token(Domain=test.com)命名为 global_token

      • 子站特定功能Token(in.test.com)命名为 in_token
         

更多推荐