Chrome игнорирует срок действия междоменных файлов cookie

#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. Я не знаю, как это получилось после этого времени. Глупая оплошность с моей стороны.