2009-02-12 4 views

ответ

3

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

12

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

Вы не говорите, какая версия IIS вы используете, но here are some detailed instructions for IIS 6

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

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

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

10

После того, как вы установили/установили 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»).

+0

я не знаю, как перенаправить страница входа с HTTPS: // это моя проблема. спасибо –

+0

Добавить код Guiness на страницу, содержащую элемент управления входа. Я бы, вероятно, переместил его в начало страницы_load или в OnInit, так как это сохраняет обработку всего остального, но это будет хорошо работать. –

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

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

  3. Добавить secureWebPages тег в web.config

    <configuration> 
        ... 
        <secureWebPages enabled="true"> 
         ... 
        </secureWebPages> 
        ... 
        <system.web> 
         ... 
        </system.web> 
    </configuration> 
    
  4. Добавить файлы и каталоги, чтобы использовать для протокола HTTPS:

    <secureWebPages enabled="true"> 
        <file path="Login.aspx" /> 
        <file path="Admin/Calendar.aspx" ignore="True" /> 
        <file path="Members/Users.aspx" /> 
        <directory path="Admin" /> 
        <directory path="Members/Secure" /> 
    </secureWebPages> 
    

Надеется, что это помогает!

+4

Проект SecureWebPageModule был переименован в «SecuritySwitch», и его можно найти на странице http://code.google.com/p/securityswitch/](http://code.google.com/p/securityswitch/) –

5

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

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

Вы можете установить его с помощью NuGet: Install-Package SecurePages

Docs здесь: 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); 
+0

Спасибо для отправки ответа! Обязательно внимательно прочитайте [FAQ по самопомощи] (http://stackoverflow.com/faq#promotion). Также обратите внимание, что * требуется *, что вы публикуете отказ от ответственности каждый раз, когда вы ссылаетесь на свой собственный сайт/продукт. –

 Смежные вопросы

  • Нет связанных вопросов^_^