2012-07-14 11 views
7

Me he dado cuenta de que stackoverflow solo usa SSL en la página de inicio de sesión, y que las preguntas/respuestas se pueden publicar a través de HTTP.¿Cómo Stackoverflow mantiene a los usuarios conectados a través de HTTP?

Los usuarios deben iniciar sesión para hacer eso, por lo que me pregunto cómo stackoverflow logra rastrear qué usuarios están conectados, si no se usa SSL.

Actualmente estoy haciendo una aplicación de rieles, que rastrea el estado de sesión con cookies. Siempre he supuesto que necesita SSL para hacerlo de forma segura. Pero estoy publicando esto, como un usuario conectado, a través de HTTP.

Observo una cookie llamada 'usr' cuando ejecuto tcpdump -i eth0 -A y luego visito stackoverflow, y que esta cookie se transmite en texto plano, sin SSL. ¿Podría un hacker/sniffer de paquetes tomar mi cookie usr y volver a reproducir mi sesión si me conecté a través de una conexión insegura, como un wifi café?

Quiero evitar el uso de SSL en mi aplicación de rieles (porque mi servidor carga un brazo y una pierna para implementarlo), así que quiero usar la misma técnica que stackoverflow. Quiero mantener a los usuarios conectados, sin SSL.

Supongo que el almacén de sesión de la base de datos (o memcache/redis) está en uso aquí. Pero seguramente todavía se requiere algún tipo de cookie? ¿Cómo es que estas cookies no tienen que enviarse a través de SSL? ¿Hay algo más en el fondo que haga que estas cookies sean redundantes para los hackers en diferentes máquinas?

+0

Supongo que HTTPS se utiliza para la seguridad, pero una vez que la cookie está activada, se puede usar HTTP. –

Respuesta

1

Esto es lo que creo que sucede o algo que podría usar en su aplicación ... crea dos tipos de cookies diferentes cuando el usuario inicia sesión a través de su página de inicio de sesión. crea la segunda cookie de manera que se envíe exclusivamente a páginas HTTPS y todas las demás (HTTP & HTTPS incluidas) pueden usar la primera cookie (cookie de sesión de usuario) para mantener la sesión y todas sus páginas que contienen información segura eso es exclusivo para que el usuario haga uso de la segunda cookie HTTPS.

De esta forma, los "me gusta" de esta página se pueden ver usando solo la cookie de sesión pero en el momento que desee ver, consulte la página de información del usuario. Cookie HTTPS ..

Espero que tenga algún sentido.

+0

gracias, esa es una buena idea – stephenmurdoch

Cuestiones relacionadas