Первое, что вы можете сделать, это отделить сеанс от процесса с помощью сервера состояний сеанса SQL (или другой базы данных), который содержит сериализованную копию данных сеанса, прикрепленных к идентификатору сеанса. Затем вы можете использовать постоянный файл cookie для передачи идентификатора сеанса назад и вперед. Любая сессия, срок действия которой истекает, может быть восстановлена или восстановлена.
Поскольку вы хотите поддерживать сеанс весь день (что небезопасно), мы будем предполагать, что большинство соображений безопасности уже отброшено. Если вас беспокоят повторные атаки, вы можете использовать HMAC для проверки запросов сеансов cookie, указав идентификатор сеанса, дату и время пользователя (если это часть ваших данных), возможно, IP-адрес в строке, за которым следует односторонний соленый хеш этих данных. Таким образом, вы переферируете данные и сравниваете хеш, отправленный с запросом, сгенерированный хеш из этих данных, чтобы увидеть, действителен ли запрос.