2

我无法在浏览器中设置 cookie。当我将 www 添加到 cookie 域时会发生这种情况,但无法弄清楚原因。

问题描述

我们有一个域mycompany.com,一个运行在下面的应用程序mycompany.com和另一个应用程序subdomain.mycompany.com。他们每个人都有自己的 cookie、secure 和 httpOnly。我们不希望在域之间共享此 cookie。我们将 cookie 的域mycompany.com设置为.mycompany.com. 这样做的问题是它泄漏到subdomain.mycompany.com,所以为了避免它,我将域更改为www.mycompany.com. 在我们的 apache 配置中,我们将所有请求重定向到mycompany.comto www.mycompany.com,所有流量都重定向到 https。

因此,当我去mycompany.comwww.mycompany.com我最终进入时www.mycompany.com,域和 cookie 域匹配,这应该有效,但它没有。的 cookiemycompany.com不在本地存储中(Chrome 和 Firefox)。(我也尝试过使用mycompany.comcookie 域,但正如预期的那样,cookie 泄漏到subdomain.mycompany.com我使用的时候.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

读到这个,我认为问题可能出在重定向上,但无论我去mycompamy.com还是,都会发生这种情况www.mycompany.com

我究竟做错了什么?

PS:cookie 不是由运行在 mycompany.com 下的应用程序生成的,而是由运行在 下的另一个进程生成的,services.mycompany.com客户端将请求发送到该进程以获取 cookie。也许这可能是问题所在。

4

1 回答 1

0

PS:cookie 不是由运行在 mycompany.com 下的应用程序生成的,而是由运行在 services.mycompany.com 下的另一个进程生成的,客户端将请求发送到该进程以获取 cookie。也许这可能是问题所在。

是的,作为一项安全措施,services.mycompany.com只能为services.mycompany.com或设置 cookie .mycompany.com

如果浏览器可以为其他域设置 cookie,那么这将导致 cookie 中毒攻击(例如,破坏双重提交 cookie CSRF 控制,允许会话固定或引入 XSS,其中原始 cookie 值反映在响应中)。

即使您确实更改了它以www.mycompany.com设置www.mycompany.comcookie,请注意something-outside-your-control.mycompany.com可以将 cookie 设置在.mycompany.com您的www.mycompany.com域不知道它是从哪里设置的级别。这是因为在 HTTP 请求中,只发送 cookie 的名称和值,而不是设置它的域。

于 2016-08-22T15:36:19.737 回答