【发布时间】:2013-06-25 22:54:23
【问题描述】:
以下代码设置会话cookie如下:
ini_set( 'session.cookie_domain', 'mysite.com' );
- FF 标头 - 域=.mysite.com
- IE 标头 - domain=mysite.com(无初始点)
- Cr 标头 - 域=.mysite.com
以下代码设置会话cookie如下:
ini_set( 'session.cookie_domain', 'dev.mysite.com' );
- FF - domain=.dev.mysite.com(有效)
- IE - domain=mysite.com(忽略子域;使用根域,无初始点)
- Cr - 创建会话失败
尝试将 Session cookie 设置为特定的子域,以便 sub1.dev.mysite.com、sub2.dev.mysite.com 可以访问相同的 Session cookie。但是,它只适用于 FF。
将会话名称设置为 SESS_NAME 之类的名称。
【问题讨论】:
-
谢谢。不幸的是,他们的解决方案都不起作用。看起来这是一个浏览器问题,因为每个人如何在其输出中实现它。例如,如果我包含子域,Chrome 甚至都无法工作。它适用于 FF。而 IE 会忽略它并改用根域。 Chrome 和 IE 是否有可能在标头中缺少某些无法正确处理的内容?而FF使用默认值?
-
从 Fiddler 中,原始标头在所有浏览器上都是相同的。在这里,我将其设置为 dev.mysite.com
HTTP/1.1 200 OK Date: Tue, 25 Jun 2013 19:48:39 GMT Server: Apache Set-Cookie: SESS_NAME=70nd4k6n1c8c1jt899sm1rk1d7; path=/; domain=dev.mysite.com Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Status: 200 Vary: Accept-Encoding Content-Length: 74632 Keep-Alive: timeout=3, max=100 Connection: Keep-Alive Content-Type: text/html
标签: php session-cookies