2011-11-06 83 views
6

我有一个网站有多个子域,它们共享一个唯一的PHP会话cookie来识别每个用户。我通过简单地添加session.cookie_domain = '.mydomain.com'来实现这一点,但是我想知道是否可以指定多个子域,以便cookies仅发送到例如www.mydomain.comuser.mydomain.com,但不会在images.mydomain.com中。 这可能吗?设置特定子域的会话cookie

+0

您可能会发现['$ cookie-> setDomain($ domain)'](https://github.com/delight-im/PHP-Cookie /blob/004cde69ec840e65c15275e09b92ecb1da06f357/src/Cookie.php#L117)有帮助,在[这个独立的库](https://github.com/delight-im/PHP-Cookie)中找到。这可让您与所有子域共享Cookie,或根本不分享。根据HTTP规范,所有其他场景都是不可能的。 – caw

回答

2

不,这些必须是2个独立的cookie。

你将不得不创建一个子域一样sub.mydomain.com,有像www.sub.mydomain.com等主机,并设置cookie进行.sub.mydomain.com如果你想以这种方式来隔离饼干...

-1

为未来的用户,其实你可以只重命名该Cookie ID,并且您可以拥有该子域的特定Cookie

+0

再次阅读问题,问题是关于一个由两个子域共享的cookie,但不是第三个。 –

+0

但我可以问这个cookie是用于身份验证吗?像用户登录? –