读取在特定域中设置的cookie

时间:2017-01-14 00:10:29

标签: php cookies

我目前在.domain.com的网站上存储Cookie,因为我有一些共享Cookie的子域(如身份验证)。我想设置一个测试网站,以便我可以公开显示某些功能,因此我设置了一个test.domain.com,显然会获得.domain.com个Cookie,但我不喜欢它。有没有办法让我进行设置,以便我的测试网站只读取.test.domain.com上的cookie?

1 个答案:

答案 0 :(得分:0)

如果在mydomain.com标头中明确命名域,则2个域subdomain.mydomain.comSet-Cookie只能共享Cookie。否则,cookie的范围仅限于请求主机。

例如,如果您从subdomain.mydomain.com发送了以下标头:

Set-Cookie: name=value

然后,不会向mydomain.com的请求发送cookie。但是,如果您使用以下内容,它将在两个域上都可用:

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

在[RFC 2109] [1]中,没有前导点的域意味着它不能在子域上使用,只有一个前导点(.mydomain.com)允许它跨子域使用。< / p>

但是,现代浏览器尊重较新的规范[RFC 6265] [2],并且会忽略任何前导点,这意味着您可以在子域和顶级域上使用cookie。

总之,如果你设置一个像mydomain.com上面第二个例子那样的cookie,subdomain.mydomain.com可以访问它,反之亦然。

另请参阅:www vs no-www and cookiesthis test script