【发布时间】:2016-12-26 12:37:32
【问题描述】:
我无法在浏览器中设置 cookie。当我将 www 添加到 cookie 域时会发生这种情况,但无法弄清楚原因。
问题描述
我们有一个域mycompany.com,一个在mycompany.com 下运行的应用程序和另一个在subdomain.mycompany.com 下运行的应用程序。他们每个人都有自己的 cookie、secure 和 httpOnly。我们不希望在域之间共享此 cookie。我们将mycompany.com cookie 的域设置为.mycompany.com。这样做的问题是它泄漏到subdomain.mycompany.com,所以为了避免它,我将域更改为www.mycompany.com。在我们的 apache 配置中,我们将对 mycompany.com 的所有请求重定向到 www.mycompany.com,并且所有流量都重定向到 https。
所以当我转到mycompany.com 或www.mycompany.com 时,我最终进入www.mycompany.com,域和cookie 域匹配,这应该有效,但它没有。 mycompany.com 的 cookie 不在本地存储(Chrome 和 Firefox)中。 (我也尝试过仅使用mycompany.com 作为cookie 域,但正如我使用.mycompany.com 时所预期的那样,cookie 会泄漏到subdomain.mycompany.com)
这是服务器发回的 cookie:
my_cookie=xxxxxxxxxxxxxx;Version=1;Comment=;Domain=www.mycompany.com;Path=/;Max-Age=604800000;Secure;HttpOnly;Expires=Fri, 26 Aug 2016 09:32:40 GMT
Reading about this,我认为问题可能是重定向,但无论我转到mycompamy.com 还是www.mycompany.com,都会发生这种情况。
我做错了什么?
PS:cookie 不是由运行在 mycompany.com 下的应用程序生成的,而是由运行在services.mycompany.com 下的另一个进程生成的,客户端将请求发送到该进程以获取 cookie .也许这可能是问题所在。
【问题讨论】:
标签: security cookies subdomain httponly cookie-httponly