Переменные сеанса Java - PullRequest
       15

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

4 голосов
/ 04 декабря 2008

Я слышал, что некоторые люди считают, что хранить информацию на сервере во время сеанса - плохая идея, что она небезопасна.

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

Ответы [ 3 ]

7 голосов
/ 04 декабря 2008

Нет риска безопасности при хранении атрибутов в сеансе, если сам сеанс защищен от угона .

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

4 голосов
/ 04 декабря 2008

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

1 голос
/ 04 декабря 2008

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...