Вроде нельзя, по HTTP-определению, только если самому городить.
andylars 20.07.2015 21:10
/ 20.07.2015 21:15
То, что cookie-value это хеш или строка, это
1) абстракция Парсера
2) просто набор внутренних аргументов, принимаемых классом Cookie для удобства в виде хеша, чтобы потом на основе их Парсер сформировал нужный HTTP-ответ браузеру. Тут аналогия с hashfile, не более чем просто визуальная.
Когда вы ставите Cookie с Expires:
Сервер говорит браузеру, среди прочих заголовков:
Set-Cookie: CookieName=CookieValue; expires=Thu, 30 Jul 2015 17:55:06 GMT; path=/
А браузер потом при каждом запросе посылает только:
Cookie: CookieName=CookieValue
т.е. браузер получив набор доп.опций к конкретной куки, потом сам хранит и помнит когда она устаревает, и проч., но серверу об этом больше не напоминает.
Вариантов реализации несколько:
1) Хранить данные в основном на сервере, в том числе по устареванию каких-то данных (браузер в конце-концов может и соврать про expires, на стороне клиента можно подделать любой запрос и смысла опираться на эти данные - не много).
2) Сфомировать в качестве значения cookie - json-строку, т.е. сериализовать многовложенные данные. (Но надо помнить есть HTTP-ограничения на размер cookie и их кол-во)
3) Модный вариант: В качестве значения Cookie - передать строку - шифрованный контейнер. Тогда можно поскладывать туда структурированные данные, не так сильно ожидая подделки.
Более того, если правильно подойти к вопросу, то к salt-у шифрования можно добавить временной диапазон, таким образом можно получить шифрованный cookie-контейнер который может прочитать только сервер + гарантированный expires независимо от браузера
- Можно ли получить expired у куки?, Maxx [M] 20.07.2015 19:07 / 20.07.2015 19:08
- Вроде нельзя, по HTTP-определению, только если самому городить. , andylars 20.07.2015 21:10 / 20.07.2015 21:15