Страницы

Поиск по вопросам

среда, 14 ноября 2018 г.

Безопасно ли хранить информацию в Session? ASP.Net MVC, C#

Добрый день, граждане! Работаю, вот, с ASP.Net. Имеется здесь объект, представляющий текущую сессию пользователя, в него можно записывать информацию любых видов и получать по ключу (короче, нечто вроде Dictionary). Но вот безопасно ли это делать? Может ли пользователь перехватить оттуда хранимую информацию? И, если да, какие есть аналоги?


Ответ

В браузере нету содержимого самой сессии. Пользователю передается только идентификатор сессии, который записывается в куки. Каждый пользователь может спокойно посмотреть свои куки и изменить.
Безопасно ли это? Конечно нет, но безопаснее куков. Все что передается пользователю от сервера или к серверу можно перехватить иди даже проще случай, например, пользователь может скопировать идентификатор сессии и передать его другому человеку.
Главное отличие сессии от куков это то, что при использовании сессий вся информация хранится на сервере, а у клиента имеется только идентификатор. У куков вся информация хранится у клиента.
Так же сессии хранятся определенное количество времени. Настраивается на веб-сервере. Например, если по истечении 20 минут не было обращения, то сессия автоматически удаляется.
Сеансы поддерживают объекты любого типа, включая специальные, создаваемые самим разработчиком типы данных. Управление сеансом не является частью HTTP-стандарта. Поэтому для отслеживания информации сеанса и ее привязки к соответствующему ответу ASP.NET приходится выполнять дополнительную работу. Для отслеживания сеанса используется уникальный 120-битовый идентификатор, который генерируется по патентованному алгоритму. Этот идентификатор является единственным фрагментом информации, который передается между веб-сервером и клиентом.
Так же можно выбрать где хранить объекты сессии. Это может быть объект в памяти, таблицы в б/д с специальным названием ASPState или Windows-служба.

Подробную информацию о сессиях, как их использовать, настроить или выбрать метод хранения можно узнать на ProfessorWeb

Комментариев нет:

Отправить комментарий