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