2016-06-05 3 views
1

Я новичок в asp.net, и я не понимаю, почему бы не повторно использовать «ASP.NET_SessionId»?Почему бы не повторно использовать «ASP.NET_SessionId»?

С моей точки зрения, каждый раз, когда пользователь запрашивает страницу с сервера, IIS создает для него «ASP.NET_SessionId» и помещает его в файл cookie в пользовательском браузере.

Я читал об этом здесь: https://support.microsoft.com/en-us/kb/899918 И не мог понять, почему я должен удалить куки для пользователя после того, как он выход из системы.

Он говорит:

Иногда вы не можете повторно использовать идентификатор сеанса. Если вы делаете, и если вы понимать последствия не повторное использование идентификатора сеанса, используйте следующий пример кода отказаться от сеанса и очистить сеанса ID печенье:

Session.Abandon();

Response.Cookies.Add (новый HttpCookie ("ASP.NET_SessionId", ""));

Не могли бы вы объяснить мне, каковы преимущества удаления этого файла cookie и недостатки его повторного использования?

ответ

0

Если вы не удалите его, и вы используете HTTP, то это создает угрозу безопасности

например

  1. Перейдите на сайт www.dodgyhacker.com, у них есть невидимый iframe, содержащий страницу входа на www.yoursite.com. Они могут видеть файл cookie и отправлять его на удаленный сервер.
  2. Теперь перейдите на сайт www.yoursite.com, cookie не изменился, и вы заходите в систему
  3. Изворотливый хакер теперь может использовать ваш cookie сеанса и получить полный доступ к системе

в действительности существуют другие способы защиты от этого, и я не хакер, так что это может быть немного неправильно, но это те важные шаги

+0

Я не думаю, что, имея мой session cookie, хакер получает полный доступ к моей информации по системе ... –

+1

Это называется захватом сеанса. Это покрывает его https://www.owasp.org/index.php/Session_hijacking_attack – tony

+1

Также http://www.codeproject.com/Articles/859579/Hack-proof-your-asp-net-applications-from- Сессия – tony

Смежные вопросы