Os cookies são criptografados por padrão no Rails 4
No Rails 4, os cookies CookieStore são criptografados e assinados por padrão:
Se você apenas secret_token
definiu, seus cookies serão assinados, mas não criptografados. Isso significa que um usuário não pode alterar o seu user_id
sem saber a chave secreta do seu aplicativo, mas pode facilmente ler a sua user_id
. Este era o padrão para aplicativos Rails 3.
Se você secret_key_base
definiu, seus cookies serão criptografados. Isso vai além dos cookies assinados, pois os cookies criptografados não podem ser alterados ou lidos pelos usuários. Este é o padrão a partir do Rails 4.
Se você tiver os dois secret_token
e secret_key_base
definido, seus cookies serão criptografados e os cookies assinados gerados pelo Rails 3 serão lidos e criptografados de forma transparente para fornecer um caminho de atualização suave.
O armazenamento de sessão do Active Record está obsoleto no Rails 4
Esta resposta agora está desatualizada em relação ao Rails 4. O Active Record Session Store foi descontinuado e removido do Rails, então os seguintes geradores não funcionarão mais:
Isso foi apontado nesta resposta . A razão pela qual o Active Record Session Store foi preterido é porque as leituras / gravações no banco de dados não escalam bem quando você tem um grande número de usuários acessando seu aplicativo, conforme declarado nesta postagem do blog :
... um grande problema com o armazenamento de sessão do Active Record é que ele não é escalável. Isso coloca uma carga desnecessária em seu banco de dados. Depois que seu aplicativo recebe uma grande quantidade de tráfego, a tabela de banco de dados de sessões é continuamente bombardeada com operações de leitura / gravação.
A partir do Rails 4, o armazenamento de sessão do Active Record foi removido da estrutura principal e agora está obsoleto.
Se você ainda deseja usar o Armazenamento de Sessão do Active Record, ele ainda está disponível como uma jóia .
Melhores práticas atuais da sessão Rails
Para mais práticas recomendadas atuais para sessões de Ruby on Rails, aconselho que você verifique as versões mais recentes do Guia de segurança Ruby on Rails .