【问题标题】:Why does Chrome and Safari not see cookies for some sub-domains?为什么 Chrome 和 Safari 看不到某些子域的 cookie?
【发布时间】:2012-05-13 08:50:49
【问题描述】:

我有一个为 example.com 生成 cookie 的网站。它可以在 Firefox、Chrome 18 和 Safari 中通过 http://example.comhttp://www.example.com 访问。但是,我无法在 webkit 派生浏览器中从 http://test.me.example.com 访问 cookie。它适用于火狐。

在从 javascript 设置 cookie 时,我已经使用 domain= example.com 和 .example.com 之一对此进行了测试。

cookie 的路径为 / 并设置了过期时间。

【问题讨论】:

  • 是的,看那个帖子让我觉得 Firefox 是正确的,而 Chrome 和 Safari 不能正常工作。就像我说的,第一级子域有效,但不是两个级别。如果 cookie 被定义为 .example.com,我希望 www.example.com 和 something.wwww.example.com 都可以工作。我想我希望有人知道为什么 Chrome 会发生这种情况,或者是否有解决方法。

标签: javascript google-chrome cookies safari


【解决方案1】:

如何指定子域? Chrome 期望子域的 cookie 以点为前缀 例如域=.example.com

您可能会发现这篇文章很有用:https://serverfault.com/questions/153409/can-subdomain-example-com-set-a-cookie-that-can-be-read-by-example-com

引用您阅读的同一 RFC2109:

   * A Set-Cookie from request-host x.foo.com for Domain=.foo.com would
     be accepted.

因此 subdomain.example.com 可以为 .example.com 设置 cookie。到目前为止一切顺利。

   The following rules apply to choosing applicable cookie-values from
   among all the cookies the user agent has.

   Domain Selection
        The origin server's fully-qualified host name must domain-match
        the Domain attribute of the cookie

那么我们有域匹配吗?

  • A 是 FQDN 字符串,格式为 NB,其中 N 是非空名称 字符串,B 的格式为 .B',B' 是 FQDN 字符串。 (所以,x.y.com 域匹配 .y.com 但不匹配 y.com。) 但是现在 example.com 不会根据定义与 .example.com 进行域匹配。但是 www.example.com (或域中的任何其他“非空名称”)> > 会。该 RFC 理论上已被 RFC2965 淘汰,后者规定了在 Set-Cookie2 操作中强制域使用前导点。

正如@Tony 所说,更重要的是真实世界。要了解实际的用户代理在做什么,请参阅

Firefox 3 的 nsCookieService.cpp 和

Chrome 的 cookie_monster.cc 要了解实际站点在做什么,请尝试使用 wget 使用 > --save-cookies、--load-cookies 和 --debug 来查看发生了什么。

您可能会发现,实际上大多数网站都在使用旧 RFC 规范中带有“主机”值的 Set-> > Cookie 的某种组合,隐含地没有前导点(如 twitter.com 所做的)或设置域值(带有前导点)并重定向到像 www.example.com 这样的服务器(就像 google.com 一样)。

【讨论】:

  • 如原始问题中所述,已尝试使用前导点。
猜你喜欢
  • 2013-03-18
  • 2019-07-25
  • 1970-01-01
  • 2012-06-09
  • 1970-01-01
  • 2013-08-02
  • 2011-10-21
  • 1970-01-01
  • 2020-03-11
相关资源
最近更新 更多