This morning while I was looking at some codes, I’ve found something
interesting. When I login, I looked at the logs and I could see clearly
the password that I’d just entered.
Example
[sourcecode language="ruby"]
Parameters:{“commit”=>”Log in”, “action”=>”create”,”controller”=>”sessions”, “password”=>”password123″,”login”=>”foobar”}
[/sourcecode]
I know, this looks like a trivial matter
but imagine anyone having access to our server looking at our
production logs file. Passwords are left wide open for the whole world
to see.
But no worries, just add this one liner in your application.rb
[sourcecode language="ruby"]
class ApplicationController < ActionController::Base
filter_parameter_logging "password"
end
[/sourcecode]
Go back to your login form, fill in your login name and password and then submit. Check out the logs and see the parameters hash.
[sourcecode language="ruby"]
Parameters: {"commit"=>“Log in”, “action”=>”create”,”controller”=>”sessions”, “login”=>”foobar”,”password”=>”[FILTERED]“}
[/sourcecode]
Notice the hash key ‘password’?

