相关疑难解决方法(0)

跨子域的PHP会话

我想设置以下内容:

auth.example.com
sub1.example.com
sub2.example.com
Run Code Online (Sandbox Code Playgroud)

如果用户访问sub1.domain.com或sub2.domain.com且他们未登录,则会将其推送到auth.domain.com并登录.sub1.domain.com和sub2.domain.com是两个单独的应用程序但使用相同的凭据.

我尝试在php.ini中设置以下内容:

session.cookie_domain = ".example.com"
Run Code Online (Sandbox Code Playgroud)

但它似乎没有将信息从一个域传递到另一个域.

[编辑]

我尝试了以下方法:

sub1.domain.com/test.php

session_set_cookie_params(0, '/', '.example.com');
session_start();
print session_id() . "<br>";
$_SESSION['Regsitered'] = 1;
echo '<a href="http://auth.example.com/test.php">Change Sites</a>'
Run Code Online (Sandbox Code Playgroud)

auth.domain.com/test.php

session_set_cookie_params(0, '/', '.example.com');
session_start();
print session_id() . "<br>";
$_SESSION['Checked'] = 1;
print_r($_SESSION);
Run Code Online (Sandbox Code Playgroud)

会话ID完全相同但是当我转出$ _SESSION变量时,它不显示两个键,只是我在每个域下设置的任何键.

[编辑2]

我更新了[编辑]

php authentication session cross-domain

89
推荐指数
3
解决办法
8万
查看次数

标签 统计

authentication ×1

cross-domain ×1

php ×1

session ×1