Установите cookie, чтобы никогда истечь

Рассмотрение php документации относительно установки cookie, я вижу, что могу установить дату истечения срока cookie. Можно установить cookie для истечения в конце сеанса браузера или в некоторое время в будущем, но я не вижу способ установить cookie, чтобы никогда истечь. Это даже возможно и как это выполняется?

176
задан Peter Majeed 15 March 2013 в 15:24
поделиться

5 ответов

Все куки истекают согласно спецификации куки, так что это не ограничение PHP.

Используйте дату в далеком будущем. Например, установите cookie, срок действия которого истекает через десять лет:

setcookie(
  "CookieName",
  "CookieValue",
  time() + (10 * 365 * 24 * 60 * 60)
);

Обратите внимание, что если вы установите дату после 2038 в 32-битном PHP, число обернется вокруг, и вы получите cookie, срок действия которого истекает мгновенно.

245
ответ дан 23 November 2019 в 20:22
поделиться

Вы не можете, но что, если вы установите время истечения сейчас + 100 лет?

0
ответ дан 23 November 2019 в 20:22
поделиться

Я считаю, что не существует способа заставить cookie жить вечно, но вам просто нужно установить срок его действия далеко в будущем, например, в 2100 году.

0
ответ дан 23 November 2019 в 20:22
поделиться

Хотя это не совсем возможно, вы могли бы сделать что-то похожее на то, что делает Google, и установить срок действия куки-файла 17 января 2038 года или что-то подобное.

С практической точки зрения вам может быть лучше установить куки-файл на 10 лет или 60 * 60 * 24 * 365 * 10, что должно пережить большинство машин, на которых будет жить ваш куки-файл.

6
ответ дан 23 November 2019 в 20:22
поделиться

Вы не должны этого делать, и это в любом случае невозможно. Если хотите, можете установить большее значение, например, на 10 лет вперед.

Кстати, я никогда не видел куки с таким требованием :)

0
ответ дан 23 November 2019 в 20:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: