Примечание. Это НЕ вопрос ASP.NET MVC, связанный с атрибутом [RequireSSL]. Это совсем другое - просто то же имя.
Проверка подлинности форм ASP.NET имеет RequireSSL свойство, которое требует, чтобы cookie аутентификации для членства в ASP.NET всегда отправлялся только через SSL. Это сделано для предотвращения кражи файлов cookie (например, путем прослушивания сети) и выдачи себя за пользователя.
Так что мне интересно - со всеми изменениями, внесенными MS, заботящимися о безопасности (такими как создание http://www.codinghorror.com/blog/archives/001167.html по умолчанию) почему requireSSL
не по умолчанию true
?
Считается ли прослушивание файлов cookie «незначительной» угрозой безопасности?
Считается ли приемлемым риск оставить его ложным, если только соединение действительно не позволяет мне получить доступ к защищенным / личным данным? Если это неприемлемо - как мне вернуть пользователя на http и при этом узнать, кто они?
Чтобы предотвратить захват и подделку файлов cookie проверки подлинности с помощью форм при пересечении сети, убедитесь, что вы используете SSL на всех страницах, требующих доступа с проверкой подлинности, и ограничьте билеты проверки подлинности с помощью форм для каналов SSL, установив для элемента requireSSL = "true".
Чтобы ограничить файлы cookie проверки подлинности с помощью форм для каналов SSL
Установите для элемента requireSSL = "true", как показано в следующем коде.
Устанавливая requireSSL = "true", вы устанавливаете свойство безопасного cookie, которое определяет, должны ли браузеры отправлять cookie обратно на сервер. Если задано свойство secure, файл cookie отправляется браузером только на защищенную страницу, которая запрашивается с использованием URL-адреса HTTPS.
Примечание. Если вы используете сеансы без файлов cookie, вы должны убедиться, что билет проверки подлинности никогда не передается по незащищенному каналу.