Выборочное перенаправление на https, а не на все страницы

#c# #asp.net #https

#c# #asp.net #https

Вопрос:

У меня есть веб-сайт, на котором требуется несколько защищенных страниц для входа в систему, учетных записей пользователей, отправки форм и т. Д., Но На большинстве страниц они не должны быть безопасными.

Сертификат приобретен и установлен на www.mywebsite.com .

В настоящее время я перенаправляю пользователей на https, используя этот код C # в page_load:

     if (!Request.IsLocal amp;amp; !Request.IsSecureConnection)
    {
        string redirectUrl = Request.Url.ToString().Replace("http:", "https:");
        Response.Redirect(redirectUrl);
    } 
  

Меня беспокоит то, что после посещения защищенной страницы и перехода пользователя на другую страницу она остается безопасной, а не возвращается к http.

Я рассмотрел несколько вариантов, включая перезапись IIS (это похоже на совершенно другой язык и слишком сложно) и кодирование чего-либо глобально (перенаправляет каждую страницу, а не выборочно).

Есть ли простое решение, которое позволит мне перенаправлять на https на выбранных страницах (около 10 или около того страниц или все страницы в определенной папке), а затем обратно на http для всех остальных? Я не самый лучший программист в мире, поэтому пытаюсь найти что-то простое для реализации и понимания.

Комментарии:

1. Повсеместный SSL — единственная безопасная ставка. Частичный SSL оставляет открытым целый ряд векторов атак, которые общий SSL закрывает. Почему вы не хотите использовать SSL повсеместно?

2. Зачем перенаправлять обратно на http ? https Вызывает проблему? Помимо безопасности, это просто кажется дополнительной работой по кодированию этого.

3. Спасибо. Похоже, это может быть правильный путь. Подумал, что, поскольку большая часть сайта не должна быть безопасной, лучше ограничить SSL страницами данных / входа.

Ответ №1:

Если какая-либо часть вашего веб-сайта требует SSL, я бы настоятельно рекомендовал вам использовать SSL повсюду. Вы бы излишне подвергли себя потенциальной потере данных, делая что-либо еще. Проверьте OWASP Top Ten для получения дополнительной информации.

Ответ №2:

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