简体   繁体   English

PHP会话跨子域发布/获取请求

[英]Cross-Subdomain Post/get Request with PHP Sessions

I have a page m.mydomain.com/login.php (http/80) page using jquery.ajaxForm posting/getting to auth.mydomain.com/login.php (https/443) 我有一个页面m.mydomain.com/login.php(http / 80)页面,使用jquery.ajaxForm发布/获取到auth.mydomain.com/login.php(https / 443)

header('Access-Control-Allow-Origin: m.mydomain.com');
ini_set('session.cookie_domain', '.mydomain.com');
session_start();

/**Login and db stuff there*/
if($allowed)
{
   $_SESSION['check_login'] = true;
   print 1;
}
else
{
   print 0;
}

So in login.php i get a result of the ajax call "1", but on accessing $_SESSION I get an empty array. 因此,在login.php中,我得到了ajax调用“ 1”的结果,但是在访问$ _SESSION时,我得到了一个空数组。

Code: 码:

ini_set('session.cookie_domain', '.mydomain.com');
session_start();

print_r($_SESSION);

Calling auth.mydomain.com/login.php (https/443) regulary in browser (with GET request) results in being logged in on m.mydomain.com/login.php (http/80) 在浏览器中定期调用auth.mydomain.com/login.php(https / 443)(带有GET请求)会导致在m.mydomain.com/login.php(http / 80)上登录

通过ajax执行请求时,需要确保在xhr对象withcredentials设置为true ,以便随请求一起发送cookie。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM