Php 跨域使用会话\u id传输会话
我正试图使用session_id函数将会话传输到另一个域 用户登录@domainA.com并被重定向到domainB.com,我想在那里传输会话Php 跨域使用会话\u id传输会话,php,cakephp,sessionid,Php,Cakephp,Sessionid,我正试图使用session_id函数将会话传输到另一个域 用户登录@domainA.com并被重定向到domainB.com,我想在那里传输会话 if(isset($_REQUEST["redirect"]) && $_REQUEST["redirect"] != ''){ $url = urldecode($_REQUEST["redirect"]); if(strpos($url, "xxxxx.") === false){ /
if(isset($_REQUEST["redirect"]) && $_REQUEST["redirect"] != ''){
$url = urldecode($_REQUEST["redirect"]);
if(strpos($url, "xxxxx.") === false){ //Means we are redirecting to a custom domain
$urlParts = parse_url($url);
$url = $urlParts["scheme"] . "://" . $urlParts["host"] . "/login/index/sid:" . session_id() . "?redirect=" . $url;
}
$this->redirect($url);
}
SiteB.com将接收会话id并将其设置为:
if(isset($this->params["named"]["sid"]) && $this->params["named"]["sid"]){
session_id($this->params["named"]["sid"]);
$this->redirect($this->params["url"]["redirect"]);
}
我确信会话将到达siteB.com,但$\u会话仍为空
我错过了什么
谢谢您应该在会话开始前调用会话id($sess\u id)() 两个域是否都可以从php.ini访问相同的
session\u save\u path
?我已经确定了问题:设置会话id必须在session\u start()之前完成,并且必须允许刷新响应才能有效地设置会话。