Как использовать HTTPS в приложении ASP.Net

Я хочу использовать HTTPS в своем веб-приложении ASP.NET, но только для страницы Login.aspx.

Как это можно сделать?

  1. Сначала получите или создайте сертификат

  2. Получите модуль SecureWebPageModule с http://www.codeproject.com/Articles/7206/Switching-Between-HTTP- и-HTTPS-Automatically-Ver. Инструкции по настройке можно найти в статье.

  3. Добавить ярлык secureWebPages в web.config

     ...  ...  ...  ...   
  4. Добавьте файлы и каталоги, которые будут использоваться для протокола https:

            

Надеюсь это поможет!

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

Вы не говорите, какую версию IIS вы используете, но вот несколько подробных инструкций для IIS 6

Вы можете приобрести относительно дешевые сертификаты, или вы можете пойти с большими мальчиками (verisign) и получить расширенный сертификат валидации, который превращает вашу адресную строку в IE, зеленый. Это также довольно строгий процесс проверки и требует времени.

Если вы знаете всех пользователей, которые будут попадать на ваш сайт, нет проблем с установкой ваших собственных. Однако для открытого веб-сайта с анонимными пользователями (который вы не знаете), вероятно, лучше купить тот, который уже находится в большинстве основных браузеров, хранилища сертификатов.

Вы можете включить SSL через IIS и потребовать его только для своей страницы login.aspx, а не для остальных.

После установки / установки SSL вы хотите сделать какую-то переадресацию на странице входа в https: //. Затем любую страницу, на которую отправляется пользователь после проверки, может просто быть http: //.

 Protected Sub Page_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreRender If Request.IsSecureConnection = False And _ Not Request.Url.Host.Contains("localhost") Then Response.Redirect(Request.Url.AbsoluteUri.Replace("http://", "https://")) End If End Sub 

Это может быть проще реализовать на главной странице или только на всех страницах, для которых требуется https. Проверяя «localhost», вы избежите ошибок в тестовой среде (если у вашего тестового сервера нет другого имени, чем проверка на это: «mytestservername»).

отказ от ответственности – я принимал участие в разработке этого проекта

Я бы рекомендовал использовать http://nuget.org/packages/SecurePages/. Он дает вам возможность защищать определенные страницы или использовать Regex для определения совпадений. Он также заставит все страницы не соответствовать Regex или напрямую указанному HTTP.

Вы можете установить его через NuGet: Install-Package SecurePages

Документы находятся здесь: https://github.com/webadvanced/Secure-Page-manager-for-asp.net#secure-pages

Простое использование:

 SecurePagesConfiguration.Urls.AddUrl("/cart"); 

или

 SecurePagesConfiguration.Urls.AddRegex(@"(.*)account", RegexOptions.IgnoreCase | RegexOptions.Compiled | RegexOptions.Singleline); 

Вы можете включить HTTPS в конфигурацию IIS, но он не будет «безопасным», если вы не приобретете SSL-сертификат и не подключите его к IIS. Убедитесь, что порт 443 открыт.

  • Безопасное шифрование https для приложения iPhone на веб-странице
  • Когда я вводил адрес с https, Firefox (иногда) меняет его на http
  • Как заставить HTTPS использовать файл web.config
  • Поддерживает ли Android Volley SSL?
  • Как исправить ошибку «java.security.cert.CertificateException: нет альтернативных имен объектов»?
  • Зашифрованы ли URL HTTPS?
  • Xubuntu Chromium NET :: ERR_CERTIFICATE_TRANSPARENCY_REQUIRED
  • Chrome переадресовывает .dev в https
  • Как добавить самозаверяющий сертификат в качестве исключения в Chrome?
  • SSLHandshakeException Цепочный якорь для пути сертификации не найден Android HTTPS
  • Как подключиться через HTTPS с помощью Jsoup?
  • Давайте будем гением компьютера.