Можно ли изменить значение файла cookie и оставить дату истечения срока действия в PHP такой же? - PullRequest
5 голосов
/ 04 марта 2010

Скажем, у меня есть PHP-скрипт, который создает cookie, срок действия которого истекает через 10 дней. Есть ли способ использовать PHP, чтобы обновить значение и сохранить тот же срок действия?

Например, скажем, мой cookie создан сегодня со значением "foo" и истекает 13.03.10. Через два дня я хочу изменить значение на «бар». Могу ли я истек срок действия cookie тринадцатого числа или я вынужден либо немедленно прекратить действие cookie, либо продлить его еще на 10 дней?

Ответы [ 3 ]

2 голосов
/ 04 марта 2010

Это невозможно.

Если вы изучите спецификацию HTTP (или просмотрите заголовки HTTP, используя Firebug ), вы обнаружите, что браузер не отправляет дату истечения срока действия насервер, только имя и значение.

Один из способов сделать это (я уверен, что есть более эффективные способы) - установить другой файл cookie для хранения первоначальной даты истечения срока действия ...

1 голос
/ 04 марта 2010

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

0 голосов
/ 04 марта 2010

Невозможно.

Кроме того, очень плохо полагаться на дату истечения срока действия файлов cookie. Если у вас есть определенные ограничения на его использование, сохраните их в базе данных и используйте cookie только для идентификации конкретного пользователя.

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