Cookie和有时会话会在子域上消失

时间:2019-01-26 12:42:14

标签: codeigniter session cookies subdomain session-cookies

我正在使用Codeigniter创建一个可与其他子域一起使用的网站。每个客户都有自己的子域,可以从那里登录。 例如: customer1.domain.com customer2.domain.com

问题在于,在子域登录后,Cookie会定期消失,有时刷新页面后也会立即消失。有时在打开其他页面后,但有时也在几分钟后。

同时我尝试了不同的方法,但找不到问题。当我使用codeigniter的cookie助手和标准的php cookie方法时,都会发生这种情况。

我尝试了以下Cookie:

$rootdomain = '.domain.nl';
        $cookie = array(
            'name'   => 'session_hash',
            'value'  => $session_hash,
            'expire' => '86400',
            'domain' => $rootdomain,
            'prefix' => 'domainprefix',
            'path'   => '/',
            'secure' => TRUE
        );
        $this->input->set_cookie($cookie);

和PHP方法:

setcookie("session_hash", $session_hash, time() + 86400,'/',$_SERVER['SERVER_NAME']);

对于会话,我使用标准的PHP方法,例如:

$_SESSION['session_hash'] = $session_hash;

因此,我尝试设置会话哈希cookie和用于备份的会话,但是cookie和会话消失了。

有人可以告诉我我做错了什么吗? 如果我在不使用子域的情况下使用相同的功能,则效果很好。

0 个答案:

没有答案