Um recurso muito útil no Rails são os arquivos de log. Por meio deles nós podemos acompanhar exatamente o que está acontecendo com nosso software, vendo inclusive os comandos SQL enviados para o banco de dados.
Mas este recurso tem um sério problema de segurança. Uma simples página de login ou cadastro de usuários, pode fazer com que o Rails grave a senha do usuário nos arquivos de log. Quando enviamos dados via post (usado nestes casos) o Rails grava todos os parametros enviados no arquivo de log, inclusive sua senha. Faça o teste e comprove.
Para evitar este tipo de problema, você pode utilizar um filtro no seu arquivo de controller:
[source:ruby]
class WelcomeController < ApplicationController
filter_parameter_logging "password"
end
[/source]
Onde “password” é o nome do campo que você está usando para armazenar sua senha.
Agora faça o teste novamente. Ao invés de o Rails registrar a senha do usuário no log, ele trocará por [FILTERED].
Só para confirmar, isto não acontece com o enironment production certo? só com testing e development se não estou enganado … (claro que posso estar enganado :D )
Carlos, muito boa essa dica, vou testar aqui!
Abraços!
Carlos, esta é uma excelente dica. Vou testar o mais rápido possivel.
Abraços
É, bem oportuna a dica.
Vou fazer o teste quando eu chegar em casa para ver o que aparece nos logs quando acesso a administração do meu blog! :D
[]‘s
Rodrigo, antes de escrever o post eu fiz um teste aqui e ele mostra em produção sim.