ASP.NET HTTP на HTTPS перенаправить с префиксом www - PullRequest
0 голосов
/ 29 сентября 2010

Я использую этот простой код для перенаправления http на https на моей целевой странице оплаты:

if (!Request.IsSecureConnection)
{
    // send user to SSL 
    string serverName =HttpUtility.UrlEncode(Request.ServerVariables["SERVER_NAME"]);        
    string filePath = Request.FilePath;
    Response.Redirect("https://" + serverName + filePath);
}

Мне нужно, чтобы он также проверял и добавлял www в URL, если его еще нет в URL. Что мне нужно добавить к этому коду для достижения этой цели?

Ответы [ 2 ]

1 голос
/ 29 сентября 2010

Как это:

if (!serverName.StartsWith("www."))
    serverName = "www." + serverName;
0 голосов
/ 29 сентября 2010

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

if (!Request.IsSecureConnection)
{
    // send user to SSL 
    string serverName = Request.ServerVariables["SERVER_NAME"];
    if (!serverName.ToLowerCaseInvariant().StartsWith("www.")) {
       serverName = string.Format("www.{0}", serverName);
    }
    string filePath = Request.FilePath;
    Response.Redirect("https://" + serverName + filePath);
}

Лично мне не нравится этот метод ведения дел. Я обычно создаю параметр с именем что-то вроде SecureDomain, а затем использую логику, чтобы проверить, соответствует ли текущее имя сервера этому. Как то так.

// Suppose the value of GlobalAppSettings.SecureDomain
// is something like www.securestore.com

if (!Request.IsSecureConnection)
{
    // send user to SSL 
    string serverName = Request.ServerVariables["SERVER_NAME"];
    if (string.Compare(serverName, GlobalAppSettings.SecureDomain, true) != 0) {
       serverName = GlobalAppSettings.SecureDomain;
    }
    string filePath = Request.FilePath;
    Response.Redirect("https://" + serverName + filePath);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...