asp.net-mvc - que - mvc visual studio 2017
¿Preparando mi sitio ASP.NET/MVC para usar SSL? (2)
1) Sí, tienes razón.
2) si. Opcionalmente, puede manejar el código HTTP 403.4 (se requiere SSL) con mayor facilidad, redirigiendo automáticamente al cliente a la versión HTTPS de la página.
En cuanto a las cookies de autenticación, he encontrado este artículo de MSDN para usted. Básicamente, puede configurar su sitio web (y el navegador del cliente) para que solo transmita la cookie de autenticación a través de HTTPS. De esta manera, no estará sujeto a la indagación de la red en un canal no cifrado.
Por supuesto, esto solo es posible si todas sus acciones [Authorize]
son solo para HTTPS.
Me estoy preparando para tener un SSL cert
instalado en mi hosting.
Tengo entendido que (y me corrija si me equivoco ...):
Una vez que los chicos de alojamiento instalen el certificado, podré navegar por mi sitio en
Http
oHttps
(nada me impedirá seguir usando Http).Lo único que tengo que hacer es agregar lógica (en el caso de MVC, atributos / filtros del Controlador) para forzar ciertas páginas, a mi elección, para redirigir a
Https
(por ejemplo, agregar un atributo[RequiresHttps]
Https
[RequiresHttps]
moderación).
¿Tengo que preocuparme por hacer algo adicional con estas cosas para asegurarme de que estoy usando SSL
correctamente? No estoy seguro si necesito cambiar algo con la lógica que tiene que ver con:
Galletas
Integración de PayPal Express
Además, planeo agregar [RequiresHttps]
solo en el carrito de compras, el proceso de pago, el inicio de sesión, la cuenta y las páginas de administración. Deseo dejar las páginas de navegación / compras de mi producto en Http
ya que he oído que hay más gastos generales por el uso de Https
. ¿Es esto normal / aceptable / ok?
Una pregunta más ... Sé que ASP.NET almacena cierta información de inicio de sesión en forma de una cookie de autenticación. ¿Está bien que un usuario inicie sesión dentro de una página Https
, pero luego puede regresar y navegar en una página Http
? Me pregunto si eso crea una debilidad de seguridad ya que el usuario ha iniciado sesión y está navegando en Http
nuevamente. ¿Eso arruina el punto de usar SSL
?
Soy un poco nuevo en esto ... así que la ayuda sería apreciada.
Comenzando con sus preguntas, en una, (1) sí, nada le impedirá usar para las mismas páginas http ether https .
y (2) Sí , debe agregar su lógica en qué página se mostrará solo como https y qué como http . Si alguien se pregunta, ¿por qué no mostrar todo como https? La razón es la velocidad, cuando los envía como https, la página es más grande y la codificación / decodificación toma un poco más, así que si no necesita https, simplemente cambie a http.
Cambiar entre HTTP y HTTPS automáticamente es un muy buen código para usar para la implementación de la lógica de conmutación de forma rápida y sencilla.
Galletas
Cuando la cookie tiene que ver con la credencial del usuario, entonces debe forzar que se transmita solo con una página segura. Lo que significa esto, significa que si configura una cookie con https, esta cookie NO se transmite en una página no segura, por lo que es seguro y un hombre en el medio no puede robarla. La sugerencia aquí es que esta cookie no se puede leer en las páginas http, por lo que puede saber que el usuario es A o B solo en la página segura.
Carrito - Productos
Sí, esto es normal: dejar los productos y el carrito en una conexión no segura porque la información no es tan especial. Inicia la página https cuando se encuentra en datos reales de usuario, como nombre, correo electrónico, dirección, etc.
Cookie de autenticación
Si lo configura solo como seguro, entonces estas cookies no se muestran / leen / existen en la página no segura. Es un problema si no lo hace seguro solamente.
Response.Cookies[s].Secure = true;
Pocas palabras mas
Lo que hacemos con la página segura y no segura es que realmente dividimos los datos del usuario en dos partes. Uno que es seguro y uno que no lo es. Entonces, en realidad usamos dos cookies, una segura y otra no segura.
La cookie no segura es, por ejemplo, la que conecta todos los productos en el carrito, o tal vez el historial del usuario (lo que ven los productos) Esto también es que no nos importa si alguien lo obtiene porque incluso un proxy puede verlo. desde la url el historial del usuario, o lo que el usuario ve.
La cookie segura es la autenticación, que guarda cierta información crítica para el usuario. Así que la cookie no segura está con el usuario en todas partes de las páginas, la segura solo está en el check out, en el inicio de sesión, etc.
Relacionado
MSDN, Cómo: Proteger la autenticación de formularios en ASP.NET 2.0
Configuración de la página SSL solo en la página de inicio de sesión
¿Puede algún pirata informático robar la cookie de un usuario e iniciar sesión con ese nombre en un sitio web?