密码显示在production.log中

Vic*_*tor 5 ruby-on-rails

使用Rails 2.3.8.

我在我的控制器中添加了这个:

  filter_parameter_logging :password, :password_confirmation
Run Code Online (Sandbox Code Playgroud)

但是密码仍然显示在我的生产和开发日志中.请指教.

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
Run Code Online (Sandbox Code Playgroud)

谢谢.

Mag*_*gne 5

对于其他人的参考:filter_parameter_loggingRails 3 中已弃用。

\n\n

来自设计教程

\n\n

"\n防止记录密码\n我们不\xe2\x80\x99 不想将密码写入我们的日志文件。在 Rails 2 中,我们会更改该文件

\n\n

应用程序/控制器/application_controller.rb

\n\n

包括:

\n\n
filter_parameter_logging :password, :password_confirmation\n
Run Code Online (Sandbox Code Playgroud)\n\n

在 Rails 3 中,这已被弃用,而是我们修改文件 config/application.rb 以包含:

\n\n
config.filter_parameters += [:password, :password_confirmation]\n
Run Code Online (Sandbox Code Playgroud)\n\n

请注意,filter_parameters 是一个数组。\n"

\n


tho*_*edb 3

添加filter_parameter_loggingUserSessionsController并重新启动您的应用程序。