Возможно ли это?
Нет, это невозможно из коробки. Есть 2 вида печенья:
- настойчивые: один с
expires
набор свойств для данной даты => эти куки хранятся в виде файлов на клиентском браузере и выжить перезагрузку браузера. Он будет отправлен по каждому запросу, который выполняет клиент, до тех пор, пока не будет достигнута дата истечения срока их действия или пока он явно не удалит их.
- сеансовое печенье: один без
expires
свойство устанавливается. Они живут только в памяти текущего браузера, но никогда не истекают (пока браузер не будет закрыт или пока сервер не удалит их явно).
Итак, для вашего сценария вы можете использовать файлы cookie сеанса, включив в значение значение created at
. Затем на сервере по каждому запросу вы можете прочитать это значение и сравнить его с текущей датой. Если желаемый период истек, просто истекает срок действия файла cookie, чтобы он больше не отправлялся при последующих запросах. Кстати, этот метод используется в модуле аутентификации форм в ASP.NET. Вы указываете тайм-аут в своем web.config и решаете, хотите ли вы использовать скользящее окончание или нет, а затем по каждому запросу сервер проверяет, достигнут ли тайм-аут, чтобы принять решение о недействительности файла cookie или его возобновлении (если скользящий истечение срока действия).