Почему для свойства FormsAuthentication по умолчанию свойство requireSSL имеет значение false!

Примечание. Это НЕ вопрос ASP.NET MVC, относящийся к атрибуту [RequireSSL]. Это совершенно другое - просто то же имя.


Аутентификация ASP.NET Forms имеет свойство RequireSSL, которое требует, чтобы cookie-файл аутентификации для членства в ASP.NET отправлялся только через SSL. Это сделано для того, чтобы кто-то не мог украсть куки (например, путем прослушивания сети) и выдавать себя за пользователя.

Поэтому мне интересно - со всеми сознательными изменениями безопасности, которые внесли MS (например, установив куки HTTPOnly по умолчанию), почему requireSSL не по умолчанию true?

Считается ли перехват файлов cookie угрозой безопасности?

Считается ли приемлемым риск оставить его ложным, если соединение фактически не позволяет мне получить доступ к безопасным / личным данным? Если это неприемлемо - как мне вернуть пользователя на http и все равно узнать, кто он?

Чтобы файлы cookie проверки подлинности форм не перехватывались и не вмешивались при пересечении сети, убедитесь, что вы используете SSL со всеми страницами, для которых требуется аутентифицированный доступ, и ограничьте билеты проверки подлинности форм для каналов SSL, установив requireSSL = "true" для элемента.

Чтобы ограничить использование файлов cookie для проверки подлинности с помощью SSL

Установите requireSSL = "true" для элемента, как показано в следующем коде.

Устанавливая requireSSL = "true", вы устанавливаете свойство защищенного cookie, которое определяет, должны ли браузеры отправлять cookie обратно на сервер. Если установлено безопасное свойство, cookie-файл отправляется браузером только на защищенную страницу, запрашиваемую по URL-адресу HTTPS.

Примечание. Если вы используете сеансы без файлов cookie, необходимо убедиться, что билет проверки подлинности никогда не передается по незащищенному каналу.

1 ответ

Решение

Потому что вам требуется SSL-сертификат, если вы его включаете, а его приобретение обычно стоит денег. Вы также можете использовать сеансы браузера для управления незащищенной информацией - и на некоторых общедоступных веб-сайтах это может быть именно тем, что вы хотите сделать. В этом случае кто-то крадет сессионный cookie-файл другого человека, и в этом нет ничего деликатного. Так зачем же покупать и устанавливать SSL-сертификат?

Другие вопросы по тегам