2009-02-12 14 views

Respuesta

3

Puede habilitar HTTPS en su configuración de IIS, pero no será "seguro" a menos que adquiera un Certificado SSL y lo conecte a IIS. Asegúrate de tener abierto el puerto 443.

12

Puede publicar su propio certificado o puede comprar uno. La advertencia es que comprar uno, dependiendo de la compañía, significa que ya está almacenado en el almacén de certificados para la mayoría de los navegadores. Su publicación propia no será y sus usuarios tendrán que dar el paso adicional de instalar su certificado.

Usted no dice qué versión de IIS que está utilizando, pero here are some detailed instructions for IIS 6

Puede adquirir los CERT relativamente baratos o puede ir con los grandes (Verisign) y obtener un certificado de validación extendida que convierte su barra de direcciones en IE, verde. También es un proceso de validación algo riguroso y lleva tiempo.

Si conoce a todos los usuarios que visitarán su sitio web, no hay problema con la instalación del suyo. Sin embargo, para un sitio web abierto con usuarios anónimos (que usted no conoce), probablemente sea mejor comprar uno que ya se encuentre en la mayoría de los principales buscadores, tiendas de certificados.

Puede habilitar SSL a través de IIS y requerirlo solo para su página login.aspx y no para el resto.

10

Después de obtener la instalación/instalación SSL, desea hacer algún tipo de redirección en la página de inicio de sesión a https: //. Luego, cualquiera sea la página a la que se envíe al usuario después de la validación, puede ser simplemente 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 

Esto puede ser más fácil de implementar en una página maestra o simplemente en todas las páginas que necesita https. Al buscar "localhost", evitará obtener un error en su entorno de prueba (a menos que su servidor de prueba tenga otro nombre que no sea verificar: "mytestservername").

+0

no sé cómo redirigir página de inicio de sesión con HTTPS: // ese es mi problema. gracias –

+0

Agregue el código de Guiness a la página que contiene su control de inicio de sesión. Probablemente lo movería a la parte superior de page_load, o a OnInit, ya que eso ahorra el procesamiento de todo lo demás, pero esto funcionará muy bien. –

30
  1. En primer lugar obtener o crear un certificado

  2. Obtener el módulo de SecureWebPageModule http://www.codeproject.com/Articles/7206/Switching-Between-HTTP-and-HTTPS-Automatically-Ver. Las instrucciones para la instalación se pueden encontrar en el artículo.

  3. Añadir etiqueta secureWebPages a web.config

    <configuration> 
        ... 
        <secureWebPages enabled="true"> 
         ... 
        </secureWebPages> 
        ... 
        <system.web> 
         ... 
        </system.web> 
    </configuration> 
    
  4. Añadir archivos y directorios a ser uso para el protocolo 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> 
    

Espero que esto ayude!

+4

El proyecto SecureWebPageModule se ha renombrado como "SecuritySwitch" y se puede encontrar en [http://code.google.com/p/securityswitch/](http://code.google.com/p/securityswitch/) –

5

descargo de responsabilidad - Yo estaba involucrado en el desarrollo de este proyecto

Yo recomiendo usar http://nuget.org/packages/SecurePages/ Se le da la capacidad de asegurar las páginas específicas o utilizar expresiones regulares para definir partidos. También obligará a todas las páginas que no coincidan con Regex o directamente especificadas de nuevo a HTTP.

Se puede instalar a través de NuGet: Install-Package SecurePages

Docs están aquí: https://github.com/webadvanced/Secure-Page-manager-for-asp.net#secure-pages

uso simple:

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

o

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

Gracias para publicar tu respuesta! Asegúrese de leer detenidamente [Preguntas frecuentes sobre autopromoción] (http://stackoverflow.com/faq#promotion). También tenga en cuenta que * se requiere * que publique un descargo de responsabilidad cada vez que se vincula a su propio sitio/producto. –

Cuestiones relacionadas