Я хочу создать веб-приложение без сохранения состояния с использованием Java-сервлетов.Поскольку он не имеет состояния, HttpSession отсутствует.В браузере есть сеанс, но каждый запрос может обрабатываться другим узлом в кластере.Идентификатор сеанса, хранящийся в браузере, генерируется и шифруется сервером, поэтому кому-то очень сложно создать действительный поддельный идентификатор сеанса и обойти логин.
Недавно я обнаружил уязвимость в этой архитектуре: если злонамеренный(зараженный) браузер отправляет идентификатор сеанса бандиту, сеанс может быть легко взломан.Я не могу сгенерировать идентификатор сеанса при каждом запросе, потому что на сервере нет сеанса для отслеживания ожидаемой последовательности запросов, и это также усложнит обработку асинхронных запросов.
Мое решение до сих пор заключается в получении некоторого HTTPSидентификатор сеанса и включите его в зашифрованный идентификатор сеанса, который хранится в браузере.Может ли стандартный сервлет получить такую информацию из HTTPS-соединения?
Другой вариант - использовать HttpSession только для getId (), но это будет работать только в том случае, если такой идентификатор связан с сеансом HTTPS, который я не смог найти вСпецификация сервлета.
Другие предложения приветствуются.