Переменные сеанса Java

Я слышал, что некоторые люди считают, что хранение информации на сервере во время сеанса - плохая идея, что это небезопасно. В результате в функции многостраничного бизнес-процесса приложение записывает данные в базу данных, а затем извлекает информацию, когда это необходимо. Есть ли что-то небезопасное в хранении личной информации в сеансе?

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
4
0
5 741
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Сами по себе HTTP-сеансы небезопасны по своей сути. Однако, в зависимости от сервера / контейнера вашего приложения, механизм, в котором файлы cookie сеанса передаются обратно в браузер (и отсутствие безопасности транспортного уровня - SSL), может позволить злоумышленникам выполнять различные атаки (межсайтовые сценарии, захват сеанса). , так далее.). Я бы потратил некоторое время на изучение этих вещей вместе с SQL-инъекцией, чтобы понять все разветвления использования HTTP-сессий. Если ваше приложение работает с брандмауэром, часто возникают гораздо большие риски безопасности, чем это, например, социальная инженерия.

Ответ принят как подходящий

Сохранение атрибутов в сеансе не представляет угрозы безопасности, если сам сеанс защищен от угон.

Есть несколько серьезных проблем, связанных с параллелизмом и сеансами. Поскольку очень часто несколько потоков одновременно выполняют запросы для одного сеанса, вы должны убедиться, что объекты, которые вы храните в сеансе, являются потокобезопасными. Либо сделайте их неизменяемыми, либо сделайте их потокобезопасными с помощью барьеров памяти, таких как синхронизация. Я очень рекомендую статья на эту тему Брайана Гетца.

Ссылка на статью не работает :-(

avgvstvs 12.12.2013 20:35

@avgvstvs Спасибо за внимание. Я написал в Твиттере Брайану Гетцу, чтобы узнать, есть ли у него копия где-нибудь еще.

erickson 12.12.2013 22:08

Помимо проблем с производительностью и параллелизмом, вам также следует подумать об удобстве использования. Работают ли несколько открытых страниц, кнопка "Назад", закладки, ссылки на ваш сайт и т. д.? В итоге я забронировал рейс не в тот день на aerlingus.ie и чуть не забронировал не тот отель на lastminute.com из-за их мрачных веб-сайтов.

Другие вопросы по теме