Log文件显示敏感信息的问题

今天客户提出一个log里面显示了用户登录是显示了密码明文的问题,这些东西非常危险,恶意的人总是能想办法(这个办法很多,比如旁注等)拿到你的日志文件,而这个日志文件比起加密的数据库文件还要危险。
复制下面这行代码到ApplicaitonController Class中
filter_parameter_logging "password"
问题就解决了,log中显示为:
Processing HomeController#login (for 127.0.0.1 at 2007-12-14 15:20:53) [POST]
Session ID: a259eade57197f761fd6fbcbf76ddcdc
Parameters: {"commit"=>"登录", "action"=>"login", "username"=>"admin", "controller"=>"home", "password"=>"[FILTERED]"}
另外,如果想在开发环境下显示POST logging,但是在产品环境下完全不显示,可以改为:
filter_parameter_logging("password") if RAILS_ENV == "production"
这样就可以了。
如果想在产品环境完全禁止POST logging,则可以在production.rb中修改:
config.log_level = :warn


SO GOOD~!

你可能感兴趣的:(ROR)