Защита перехвата сеанса в ASP.NET

Я хотел бы узнать, какой идентификатор сессии, угоняя защиту встроен в текущую версию ASP.NET.

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

Кажется, что эта статья была написана для ASP.NET 1.1, таким образом, я хотел бы знать, встроено ли что-либо подобное теперь в ASP.NET. Имеет это все еще какую-либо выгоду для реализации такого дополнительного слоя?

Спасибо.

7
задан Martyn 26 May 2010 в 10:44
поделиться

1 ответ

Посмотрите на этот фрагмент из документации Session Overview:

Значения System.Web.SessionState.HttpSessionState.SessionID отправляются открытым текстом, будь то в виде cookie или как часть URL. Злонамеренный пользователь может получить доступ к сессии другого пользователя, получив значение SessionID и включив его в запросы к серверу. Если вы храните конфиденциальную информацию в состоянии сессии, рекомендуется использовать SSL для шифрования любого обмена данными между браузером и сервером, включающего значение SessionID.

http://msdn.microsoft.com/en-us/library/ms178581.aspx

Мне кажется, это означает, что в Session не заложена безопасность, поэтому вам, вероятно, не следует использовать Session в качестве меры безопасности. Вместо этого я бы рекомендовал полагаться на безопасность ASP.NET (аутентификация, авторизация).

Вот статья из группы Patterns & Practices об общих рекомендациях по безопасности для ASP.NET.

http://msdn.microsoft.com/en-us/library/ff649100.aspx

6
ответ дан 7 December 2019 в 05:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: