我知道Rails允许您从日志中过滤特定字段。如何过滤整个表单?
我有一个用于登录银行的表单,我从API获取字段,密码字段的名称有千种变化:password1,token,pin等。我只需要完全过滤表单因为我无法预测密码字段名称。
我该怎么做?
答案 0 :(得分:3)
记录很少,但filter_parameters
也会接受正则表达式或lambda。要过滤每个字段,您只需要使用匹配所有内容的正则表达式,例如:
# config/initializers/filter_parameter_logging.rb (or `config/application.rb` for Rails 3)
config.filter_parameters += //
但是,将 想要记录的参数列入白名单可能会更有用,在这种情况下,您可以执行以下操作:
config.filter_parameters += /^((?!.*(id|first_name|last_name)).*)$/
或者:
config.filter_parameters += ->(param) { param !~ /^(id|first_name|last_name)$/ }