Las cookies están cifradas de forma predeterminada en Rails 4
En Rails 4, las cookies de CookieStore están cifradas y firmadas de forma predeterminada:
Si solo ha secret_token
configurado, sus cookies se firmarán, pero no se cifrarán. Esto significa que un usuario no puede alterar su user_id
sin conocer la clave secreta de su aplicación, pero puede leer fácilmente su user_id
. Este era el valor predeterminado para las aplicaciones Rails 3.
Si lo ha secret_key_base
configurado, sus cookies se cifrarán. Esto va un paso más allá que las cookies firmadas, ya que los usuarios no pueden modificar ni leer las cookies cifradas. Este es el inicio predeterminado en Rails 4.
Si tiene ambos secret_token
y secret_key_base
configura, sus cookies se cifrarán y las cookies firmadas generadas por Rails 3 se leerán y cifrarán de forma transparente para proporcionar una ruta de actualización sin problemas.
El almacén de sesiones de registro activo está obsoleto en Rails 4
Esta respuesta ahora está desactualizada con respecto a Rails 4. Active Record Session Store ha quedado obsoleta y se eliminó de Rails, por lo que los siguientes generadores ya no funcionarán:
Esto se señaló en esta respuesta . La razón por la que Active Record Session Store quedó en desuso es porque las lecturas / escrituras en la base de datos no se escalan bien cuando hay una gran cantidad de usuarios que acceden a su aplicación, como se indica en esta publicación de blog :
... un problema importante con el almacenamiento de sesiones de Active Record es que no es escalable. Pone una carga innecesaria en su base de datos. Una vez que su aplicación recibe una gran cantidad de tráfico, la tabla de la base de datos de sesiones es bombardeada continuamente con operaciones de lectura / escritura.
A partir de Rails 4, el almacén de sesiones de Active Record se eliminó del marco principal y ahora está en desuso.
Si aún desea utilizar Active Record Session Store, todavía está disponible como una joya .
Mejores prácticas de la sesión actual de Rails
Para conocer las mejores prácticas actuales para las sesiones de Ruby on Rails, le aconsejo que consulte las últimas versiones de la Guía de seguridad de Ruby on Rails .