Файл cookie iOS Safari автоматически удаляется после истечения времени ожидания сеанса php - PullRequest
0 голосов
/ 24 октября 2019

Я использую веб-сервер apache для обслуживания сайтов с использованием php. Я установил тайм-аут сессии php до 60 секунд (для тестирования). У меня есть экран входа на сайт, который отправляет учетные данные, используя ajax-вызов php. При успешном входе в систему php устанавливает cookie-файл, используя следующий код:

setcookie('mylogin', 'mydata', time() + (86400 * 30), '/');

Я тестирую свой сайт на iOS 13.1 Safari на iPhone 6S. Я вхожу в систему и затем перенаправляюсь на домашнюю страницу. Я проверяю вкладку, подключив ее к Mac. Я вижу, что печенье сохранено. Затем я поставил сафари в фоновом режиме, нажав кнопку домой. Через минуту, когда сессия php истечет, я нажимаю значок сафари и возвращаю его на передний план. Safari автоматически обновляет вкладку, удаляет файл cookie «mylogin». И из-за этого я снова получаю экран входа в систему.

Я уже пытался установить домен при вызове setcookie, как показано ниже:

setcookie('mylogin', 'mydata', time() + (86400 * 30), '/', 'mydomain.com');

Я даже попробовал файл cookie httponly, как показано ниже:

setcookie('mylogin', 'mydata', time() + (86400 * 30), '/', 'mydomain.com', false, true);

Файл cookie httponly также удаляется.

Есть идеи, почему сафари удаляет файл cookie при истечении времени сеанса php?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...