Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: узнать оставшееся время жизни куки
Покинул форум
Сообщений всего: 455
Дата рег-ции: Март 2011
Помог: 3 раз(а)
Здравствуйте!Как узнать узнать оставшееся время жизни куки?Спасибо!
----- $i = 0;
$i = $i++ + ++$i; ?
EuGen
Отправлено: 22 Января, 2013 - 17:00:59
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Никак - в общем случае. Поскольку время истечения куки определяет лишь, отправит ли браузер её или нет. Таким образом, это никак не передается на сервер.
При помощи javascript же можно поступить двумя способами:
0. Если приложение самостоятельно выставит в другую куку дату окончания нужной. Ненадежно, поскольку потребуется дополнительный контроль (так, при истечении исследуемой куки нужно еще потрудиться удалить вторую и т.п.)
1. Использовать AJAX-запрос для получаения ответа сервера - а точнее, заголовков этого ответа (Response headers). Там эта дата будет указана согласно стандартному HTTP-протоколу. Однако это потребует разбора, и, кроме того, нужно быть уверенным в том, что изначальный HTTP-запрос к серверу был построен корректно в соответствии с логикой приложения.
На "чистом" javascript эта задача так же неразрешима.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
spsu
Отправлено: 22 Января, 2013 - 17:04:39
Частый гость
Покинул форум
Сообщений всего: 176
Дата рег-ции: Нояб. 2012
Помог: 3 раз(а)
[quote]Поскольку время истечения куки определяет лишь, отправит ли браузер её или нет[./quote]
Ну если пользователь не очистит кукисы то отправит.
Поэтому как вариант писать время ее установки, и расчитывать уже исходя из времени на которое она была установлена.
EuGen
Отправлено: 22 Января, 2013 - 18:00:56
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
spsu пишет:
Ну если пользователь не очистит кукисы то отправит.
Нет. Если у куки истекло время жизни, и по какой-то причине она еще не удалена, браузер её не отправит. Но на деле такую куку удалит сам браузер по истечении даты.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
spsu
Отправлено: 22 Января, 2013 - 18:08:48
Частый гость
Покинул форум
Сообщений всего: 176
Дата рег-ции: Нояб. 2012
Помог: 3 раз(а)
Цитата:
Нет. Если у куки истекло время жизни, и по какой-то причине она еще не удалена, браузер её не отправит. Но на деле такую куку удалит сам браузер по истечении даты.
Ну вот а больше причин и не может быть кроме багов каких-то и.т.д...
Поэтому все будет нормально при применении моего алгоритма.
EuGen
Отправлено: 22 Января, 2013 - 18:11:15
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
spsu пишет:
Поэтому все будет нормально при применении моего алгоритма.
То есть? Не очень понял, чем это отличается от:
EuGen пишет:
Если приложение самостоятельно выставит в другую куку дату окончания нужной. Ненадежно, поскольку потребуется дополнительный контроль (так, при истечении исследуемой куки нужно еще потрудиться удалить вторую и т.п.)
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
spsu
Отправлено: 22 Января, 2013 - 18:17:25
Частый гость
Покинул форум
Сообщений всего: 176
Дата рег-ции: Нояб. 2012
Помог: 3 раз(а)
Цитата:
То есть? Не очень понял, чем это отличается от:
Я в том посте не указал куда именно писать, да вы не телепат поэтому могли подумать что в куки предлагал писать, но я имелл в виду в БД.
EuGen
Отправлено: 22 Января, 2013 - 18:29:01
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
На самом деле, можно в куку. Если приложением управляете Вы - то достаточно выставить expire обоих кук одинаковым - тогда целостность будет соблюдаться автоматически, и, кроме того, время жизни первой куки будет доступна прямо из javascript без каких-либо обращений к серверу.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.