#c_sharp #aspnet_mvc #сессия
Добрый день, граждане! Работаю, вот, с ASP.Net. Имеется здесь объект, представляющий текущую сессию пользователя, в него можно записывать информацию любых видов и получать по ключу (короче, нечто вроде Dictionary). Но вот безопасно ли это делать? Может ли пользователь перехватить оттуда хранимую информацию? И, если да, какие есть аналоги?
Ответы
Ответ 1
В браузере нету содержимого самой сессии. Пользователю передается только идентификатор сессии, который записывается в куки. Каждый пользователь может спокойно посмотреть свои куки и изменить. Безопасно ли это? Конечно нет, но безопаснее куков. Все что передается пользователю от сервера или к серверу можно перехватить иди даже проще случай, например, пользователь может скопировать идентификатор сессии и передать его другому человеку. Главное отличие сессии от куков это то, что при использовании сессий вся информация хранится на сервере, а у клиента имеется только идентификатор. У куков вся информация хранится у клиента. Так же сессии хранятся определенное количество времени. Настраивается на веб-сервере. Например, если по истечении 20 минут не было обращения, то сессия автоматически удаляется. Сеансы поддерживают объекты любого типа, включая специальные, создаваемые самим разработчиком типы данных. Управление сеансом не является частью HTTP-стандарта. Поэтому для отслеживания информации сеанса и ее привязки к соответствующему ответу ASP.NET приходится выполнять дополнительную работу. Для отслеживания сеанса используется уникальный 120-битовый идентификатор, который генерируется по патентованному алгоритму. Этот идентификатор является единственным фрагментом информации, который передается между веб-сервером и клиентом. Так же можно выбрать где хранить объекты сессии. Это может быть объект в памяти, таблицы в б/д с специальным названием ASPState или Windows-служба. Подробную информацию о сессиях, как их использовать, настроить или выбрать метод хранения можно узнать на ProfessorWeb
Комментариев нет:
Отправить комментарий