将会话从子域传递到域

时间:2014-05-08 13:13:57

标签: php session

我的服务器上的指令session.cookie_domain已设置为.test.site.com

我使用以下代码将会话从3rd level domain传递到2nd level domain(即从test.site.com传递到site.com

$site = session_name("site");
session_set_cookie_params(0, '/', '.test.site.com');
if(!isset($_SESSION)) { 
session_start(); 
} 

但会话未从test.site.com传递到site.com

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

使用:

session_set_cookie_params(0, '/', '.site.com');

这样,域和所有子域都可以访问会话。

我不知道是否可以将其限制在域和一个子域中。

答案 1 :(得分:0)

我非常熟悉

$site = session_name("site");
session_set_cookie_params(0, '/', '.site.com');
if(!isset($_SESSION)) { 
session_start(); 
} 

但不是

$site = session_name("site");
session_set_cookie_params(0, '/', '.test.site.com');
if(!isset($_SESSION)) { 
session_start(); 
} 

当它将sessions传递到上层和上层时较低级别的域名。

要学习的课程: session.cookie_domain应设置为第二级(.site.com)的最低可能公共级别,以便将会话传递到所有其他较高级别,包括{ {1}}本身。