是否可以在子域之间共享 cookie

Posted

技术标签:

【中文标题】是否可以在子域之间共享 cookie【英文标题】:is it possible to share cookies between subdomains 【发布时间】:2015-11-28 01:38:34 【问题描述】:

是否可以在以下子域之间共享cookie??

sharepoint.server.com   AND     data.server.com

【问题讨论】:

Share cookie between subdomain and domain 的可能重复项 【参考方案1】:

您可以在标题中指定 cookie 的域

Set-Cookie: name=value; domain=.mydomain.com

URL 前面的 . 使 cookie 在任何子域中都可用。


在RFC 2109 中,没有前导点的域意味着它不能用于子域,只有前导点 (.mydomain.com) 才能跨子域使用。

source and more details


更新

根据MDN,不再需要前导点来包含子域。子域现在包含在域声明中。

【讨论】:

如果子域想要在它们之间共享会话,但不与 www 子域共享会话怎么办?目前还没有找到方法:( 看起来这不再是真的了。 MDN 说“与早期的规范相反,域名中的前导点被忽略。如果指定了域,则始终包含子域。” -- developer.mozilla.org/en-US/docs/Web/HTTP/Headers/…【参考方案2】:

为了简单地使用 cookie,我使用 js-cookie 并通过以下代码使用此库:

Cookie.set('key', 'value',  domain: '.example-domain.com' )

所有子域和基域都可以相互共享cookie

【讨论】:

以上是关于是否可以在子域之间共享 cookie的主要内容,如果未能解决你的问题,请参考以下文章

在 Rails 中的子域之间共享会话(cookie)?

Chrome 未在子域之间共享 cookie

使用 IIS express 在域和子域之间共享 cookie

如何在同一子域上获取不同的 Django 应用程序以共享会话 cookie?

symfony 应用程序与域/子域共享登录 cookie

是否可以删除子域 cookie?