Поделиться через


Принудительное использование SSL для определенных страниц с помощью ASP

В этой статье описывается, как использовать страницы Active Server (ASP) для принудительного применения протокола SSL для определенных страниц без внесения изменений в MMC.

Исходная версия продукта: Страницы Microsoft Active Server
Исходный номер базы знаний: 239875

Итоги

Часто рекомендуется использовать протокол SSL для определенных страниц на веб-сайте. Хотя это можно настроить с помощью диспетчера служб Интернета (ISM) в консоли управления Майкрософт (MMC), вы также можете использовать ASP для принудительного ssl-подключения для определенных страниц без внесения изменений в MMC.

Примечание.

Рекомендуется обновить всех пользователей до службы IIS (IIS) версии 7.0, работающей в Windows Server 2008. IIS 7.0 значительно повышает безопасность веб-инфраструктуры.

Предварительные требования

В этой статье предполагается следующее:

  • СЛУЖБЫ IIS выполняются на стандартных портах:

    • HTTP = порт 80
    • HTTPS = порт 443
  • IIS имеет действительный SSL-сертификат.

  • Веб-сайт или виртуальный сервер, который используется, не использует хост-заголовки HTTP/1.1 для разрешения имен.

Принудительное использование SSL с помощью ASP

Чтобы принудительно использовать SSL с помощью ASP, выполните следующие действия.

  1. Нажмите кнопку "Пуск", нажмите кнопку "Запустить", введите блокнот и нажмите кнопку "ОК".

  2. Вставьте следующий код в пустой документ Блокнота. В меню "Файл" нажмите кнопку "Сохранить как", а затем сохраните следующий код в корне веб-сервера в качестве файла include с именем ForceSSL.inc:

    <%
    If Request.ServerVariables("SERVER_PORT")=80 Then
        Dim strSecureURL
        strSecureURL = "https://"
        strSecureURL = strSecureURL & Request.ServerVariables("SERVER_NAME")
        strSecureURL = strSecureURL & Request.ServerVariables("URL")
        Response.Redirect strSecureURL
    End If
    %>
    
  3. Для каждой страницы, требующей SSL, вставьте следующий код в верхней части страницы, чтобы ссылаться на файл включения из предыдущего шага:

    <%@Language="VBSCRIPT"%>
    <!--#include virtual="/ForceSSL.inc"-->
    

При просмотре каждой страницы код ASP, содержащийся в файле включения, обнаруживает порт, чтобы определить, используется ли HTTP. Если используется ПРОТОКОЛ HTTP, браузер будет перенаправлен на ту же страницу с помощью HTTPS.

Ссылки