【问题标题】:Cookie not set after adding www to cookie domain将 www 添加到 cookie 域后未设置 cookie
【发布时间】: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.comwww.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


    【解决方案1】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2016-02-12
      • 1970-01-01
      • 1970-01-01
      • 2014-11-24
      • 1970-01-01
      • 2018-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多