我正在一个具有多个子域的站点上工作,其中一些应该有自己的会话。
我想我已经解决了,但是注意到一些我不理解的关于 cookie 处理的事情。我在文档中没有看到任何解释它的内容,所以我想我会看看这里是否有人对这个问题有所了解。
如果我这样做:
session_start();
我最终得到一个像这样的会话cookie:
子域.example.net
但是,如果我尝试自己设置 cookie 域,或者像
ini_set('session.cookie_domain', 'subdomain.example.net');
或喜欢
session_set_cookie_params( 0, "/", "subdomain.example.net", false, false);
我最终得到了一个 .subdomain.example.net 的 cookie(注意开头的点),我相信这意味着“匹配所有子域(或者在这种情况下是子子域)。
实际上,这似乎发生在我所有的 cookie 中,而不仅仅是会话。如果我自己设置 cookie 域,它会自动在前面加上点,这意味着该域及其所有子域。如果我不设置域,那么它只使用当前域就可以了。
知道是什么原因造成的,我能做些什么来控制那个前置点吗?
谢谢!