Печенье через субдомены с перенаправлением - PullRequest
0 голосов
/ 18 марта 2012

На моей домашней странице www.website.com у меня есть форма для входа и она регистрирует сеанс:

ini_set('session.gc_maxlifetime', 7200);//set cookie lifetime to 2 hours
ini_set("session.cookie_lifetime", 7200);
ini_set("session.cookie_httponly", 1);//set cookie httponly
ini_set("session.cookie_domain", ".website.com");
session_start();
$_SESSION['login']='yes';
header('Location: http://panel.website.com/');

Таким образом, пользователь будет перенаправлен на http://panel.website.com. Там у меня есть следующий код:

ini_set('session.gc_maxlifetime', 7200);//set cookie lifetime to 2 hours
ini_set("session.cookie_lifetime", 7200);
ini_set("session.cookie_httponly", 1);//set cookie httponly
ini_set("session.cookie_domain", ".website.com");
session_start();
if (!isset($_SESSION['login'])) {
    header('Location: http://www.website.com/error.php' );
    exit();
}

Итак, проблема в том, что субдомен не имеет доступа к сеансу, а пользователь всегда перенаправляется на website.com/error.php.

Что я должен изменить? Я пробовал session.cookie_domain, но он не работает. Скажите, пожалуйста, если вам нужна дополнительная информация (например, данные phpinfo).

Спасибо!

1 Ответ

0 голосов
/ 18 марта 2012

Отсюда: Сеансы PHP в поддоменах Установка имени сеанса, кажется, исправляет это.

$some_name = session_name("some_name");
session_set_cookie_params(0, '/', '.website.com');
session_start();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...