Мое приложение представляет собой полную веб-страницу AJAX, используя Codeigniter Framework и обработчик сеанса memcached.
Иногда он отправляет много асинхронных вызовов, и если сеанс должен восстановить свой идентификатор (чтобы избежать проблемы безопасности при фиксации сеанса), cookie сеанса не обновляется достаточно быстро, а некоторые вызовы AJAX терпят неудачу из-за истекшего идентификатора сеанса.
Вот схематическая картина, которую я сделал, чтобы четко показать проблему:
Я прошел через подобные потоки (например этот), но ответы на самом деле не решают мою проблему, я не могу отключить безопасность, поскольку в моем приложении есть только вызовы AJAX.
Тем не менее, у меня есть идея, и я хотел бы получить мнение до того, как взломать классы обработчиков сеансов Codeigniter: Идея состоит в том, чтобы управлять двумя одновременными идентификаторами сеанса на некоторое время, например 30 секунд. Это будет максимальное время выполнения запроса. Поэтому после восстановления сеанса сервер все равно примет предыдущий идентификатор сеанса и переключится на сеанс на новый. Используя ту же картинку, которая даст что-то вроде этого: