在生产日志中显示密码

7

使用Rails 2.3.8。

我在控制器中添加了以下内容:

  filter_parameter_logging :password, :password_confirmation

但是我的生产和开发日志中仍然显示密码。请给予建议。

Processing UserSessionsController#create (for 110.159.52.119 at 2011-03-11 18:25:50) [POST]
  Parameters: {"user_session"=>{"remember_me"=>"0", "password"=>"therealpassword", "login"=>"usernamehere"}, "action"=>"create", "authenticity_token"=>"kx96Yc9sF/dYbRL8UYni2tp+p/yz6CTHw+j/X6bqh/g=", "controller"=>"user_sessions"}
[paperclip] Saving attachments.
Redirected to http://abc.com/account
Completed in 2047ms (DB: 532) | 302 Found [http://abc.com/user_session]
** Erubis 2.6.6

谢谢。

3
你是否将filter_parameter_logging的调用添加到了UserSessionsController或其他控制器中?如果是,你是否重启了应用程序? - gnab
太好了,现在它可以工作了。我能知道为什么它在应用控制器中的行为不像应该的那样吗? - Victor
2个回答

5

供其他人参考: 在Rails 3中, filter_parameter_logging已被弃用。

来自Devise教程:

" 防止密码记录在日志文件中 我们不希望密码被写入日志文件。在Rails 2中,我们需要更改文件

app/controllers/application_controller.rb

如下:

filter_parameter_logging :password, :password_confirmation

在Rails 3中,这已经被弃用,我们需要修改config/application.rb文件来包含以下内容:
config.filter_parameters += [:password, :password_confirmation]

请注意,filter_parameters是一个数组。

3
filter_parameter_logging添加到UserSessionsController中,然后重新启动您的应用程序。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接