#php #google-chrome #cookies
#php #google-chrome #файлы cookie
Вопрос:
В домене 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:
Это связано с истечением срока действия, а не с доменом. Вы используете, 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);
Комментарии:
1. Правильно, спасибо! Я знаю о 2038 году, но я думал, что установил его до 3: 14: 07. Я не знаю, как это получилось после этого времени. Глупая оплошность с моей стороны.