相关疑难解决方法(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万
查看次数

允许php会话转移到子域

我为所有用户数据使用php会话(不是cookie,会话ID cookie除外),当用户访问他们的个人资料user.mydomain.com时,他们会立即"退出",直到删除子域.

有没有办法接受来自所有域的会话,只要它的*.mydomain.com

php apache cookies session

70
推荐指数
3
解决办法
7万
查看次数

subdomain.example.com可以设置一个可以被example.com读取的cookie吗?

我简直无法相信这很难确定.

即使已阅读RFC,我也不清楚subdomain.example.com上的服务器是否可以设置可由example.com读取的cookie.

subdomain.example.com可以设置其Domain属性为.example.com的cookie.RFC 2965似乎明确声明这样的cookie不会被发送到example.com,但是同样地说,如果你设置Domain = example.com,前面有一个点,就像你说的那样.example.com.总而言之,这似乎说如果exam​​ple.com返回使用Domain = example.com设置一个cookie,它就不会得到那个cookie!这不可能是正确的.

任何人都可以澄清规则到底是什么吗?

cookies subdomain http

35
推荐指数
1
解决办法
2万
查看次数

使用javascript设置跨子域cookie

我应该如何为这些功能添加域支持?我希望实现.example.com被声明为域,以便可以在example.com的所有子域中读取cookie.在目前的形式中,由于未设置域,因此只能从www.example.com读取

javascript setcookie

27
推荐指数
1
解决办法
5万
查看次数

Cookie和子域名

可以在同一顶级域名的两个站点之间共享cookie吗?说www.example.comsecure.example.com?我们正在研究为非安全内容实现缓存,并需要将安全内容隔离到另一个域.cookie需要什么参数?我正在使用asp.net

asp.net cookies

19
推荐指数
2
解决办法
8454
查看次数

在symfony 2.1中共享域和子域之间的身份验证

在一个应用程序中,我使用长轮询实现了一个javascript聊天.由于每个域只允许一个Ajax请求,我想将轮询请求移动到子域.

所以我有两个域:

dev.site.com
poll.dev.site.com
Run Code Online (Sandbox Code Playgroud)

在我的config.yml我输入以下内容:

framework:
    session:
        domain: .dev.site.com
        cookie_domain: .dev.site.com
Run Code Online (Sandbox Code Playgroud)

但是,如果我尝试通过Ajax在子域上进行轮询,Symfony不会让我登录.

关于如何在子域上保持会话的任何想法?我正在使用FOSUserBundle

subdomain session fosuserbundle symfony-2.1

8
推荐指数
1
解决办法
2479
查看次数

如何使用子域和 AJAX 使 PHP 会话工作?

我在一个使用子域、会话和 Ajax 的 PHP 项目中工作。但不幸的是我不能让它工作!我会试着解释:

让我们假设我在这个域:app.mysite.com/index.php

在这个域中,我有一个表单可以向mysite.com/functions/execute.php执行 Ajax 请求(没有任何子域)

execute.php的第一行,我有一个require_once,其中包含一个helper.php文件。在这个文件中,我放了:

ini_set('session.cookie_domain',  '.mysite.com');
session_set_cookie_params(0, '/', '.mysite.com');
session_start();
Run Code Online (Sandbox Code Playgroud)

列出的所有 PHP 文件还包括 helper.php。

例如,如果我运行:

echo $_SESSION["myValue"];
Run Code Online (Sandbox Code Playgroud)

app.mysite.com/index.php或任何其他子域,如auth.mysite.com,我会得到值:"test"。但是如果我在execute.php运行相同的代码,并通过 Ajax 返回值,我将得到未定义的索引!

我究竟做错了什么?

php apache subdomain ajax session

5
推荐指数
1
解决办法
1390
查看次数