Chrome игнорирует междоменный срок действия куки - PullRequest
0 голосов
/ 14 ноября 2011

В домене 1 у меня есть форма, которая отправляет сообщения в домен 2

<form method="post" action="http://domain2.com/result.php">

Сценарий result.php в домене 2 устанавливает файл cookie в домене 2, который должен сохраняться до 2038 года.

setcookie('test', 'val', 2147485540, '/', '.domain2.com', false);

Файл cookie сохраняется, но в Chrome срок действия установлен на «Когда я закрываю свой браузер» (другими словами, 0). В Firefox срок действия установлен правильно.

Есть ли способ обойти это или это настройка безопасности Chrome, касающаяся междоменной публикации, с которой мне просто придется жить?

1 Ответ

2 голосов
/ 14 ноября 2011

Это связано с истечением срока действия, а не с доменом. Вы используете 2147485540, что эквивалентно Tue, 19 Jan 2038 03:45:40 В некоторых браузерах возникают проблемы с датами после 03:14:07 UTC во вторник, 19 января 2038 года.

Это будет работать:

setcookie('test', 'val', gmmktime(3, 14, 7, 1, 19, 2038), '/', '.domain2.com', false);

Это не будет:

setcookie('test', 'val', gmmktime(3, 14, 8, 1, 19, 2038), '/', '.domain2.com', false);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...