关闭冗余日志信息
首先在config/initializers目录中的backtrace_silencers.rb里可以按需或者全部关闭不必要的错误栈回溯信息,以免你日志拖的太长:
//过滤特定library的信息
Rails.backtrace_cleaner.add_silencer{|line|line=~/my_noisy_library/}
//过滤所有信息
Rails.backtrace_cleaner.remove_silencers!
隐藏特定信息
有时候你的日志某些信息比较敏感,你不希望光明正大的显示出来,你可以通过调整filter_parameter_logging.rb来隐藏特定属性的内容:
Rails.application.config.filter_parameters+=[:password]
名词单复数转换
你可以在console中做Inflector的测试:
ActiveSupport::Inflector.pluralize"project"
不过Inflector没那么聪明,但你可以教它:
ActiveSupport::Inflector.inflections(:en)do|inflect| inflect.plural /^(ox)$/i, '\1en'
inflect.singular /^(ox)en/i, '\1'
inflect.irregular 'person', 'people' inflect.uncountable %w( fish sheep )
end
Secret Token
特定类型的攻击涉及到偷偷的修改cookie的内容,通过为cookie数字签名,rails可以检测到它们是否被篡改,而签名的token就放在secret_token.rb里,你也可以手动生成一个新token:
rake secret