Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/53.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 从延迟作业日志中筛选敏感信息_Ruby On Rails_Ruby On Rails 3_Security_Logging_Delayed Job - Fatal编程技术网

Ruby on rails 从延迟作业日志中筛选敏感信息

Ruby on rails 从延迟作业日志中筛选敏感信息,ruby-on-rails,ruby-on-rails-3,security,logging,delayed-job,Ruby On Rails,Ruby On Rails 3,Security,Logging,Delayed Job,Rails 3在config/application.rb中有一个很好的特性,允许用户过滤日志中出现的敏感信息,如密码,如下所示: config.filter\u参数+=[:密码,:creditcardnum] 然而,我的问题在于如何从其他地方的日志中过滤相同的信息。例如,我正在使用DelayedJob,尽管我的密码已从开发日志中过滤,但它在DelayedJob日志中仍会出现(我认为类似的工作gem也会出现类似的情况): SQL(14.3ms)插入“延迟的作业”(“尝试”、“创建的作业”、“失败

Rails 3在
config/application.rb
中有一个很好的特性,允许用户过滤日志中出现的敏感信息,如密码,如下所示:

config.filter\u参数+=[:密码,:creditcardnum]

然而,我的问题在于如何从其他地方的日志中过滤相同的信息。例如,我正在使用DelayedJob,尽管我的密码已从开发日志中过滤,但它在DelayedJob日志中仍会出现(我认为类似的工作gem也会出现类似的情况):

SQL(14.3ms)插入“延迟的作业”(“尝试”、“创建的作业”、“失败的作业”、“处理程序”、“上次错误”、“锁定的作业”、“锁定的作业”、“优先级”、“队列”、“运行的作业”、“更新的作业”)值(等等…)用户名:MYUSERNAME@EMAIL.COM\n密码:MYPASSWORDHERE\n方法\u名称::销毁\n密码:[]\n“],[“上次错误”,nil],“锁定在”“,”无“,”锁定“,”无“,”优先级“,”0“,”队列“,”无“,”运行时间“,周三,2013年7月3日03:07:02 UTC+00:00],”更新时间“,周三,2013年7月3日03:07:02 UTC+00:00]


你对此有什么想法吗

我建议只向延迟的作业发送非敏感信息

例如,以下代码将完整的
用户
对象(包括密码或任何其他敏感信息)发送到延迟作业:

user.delay.activate
为了防止这种情况,首先我们可以准备一个
ActivateUserJob

class ActivateUserJob
然后,在需要时将作业排队。这样,仅显示
用户的id

Delayed::Job.enqueue ActivateUserJob.new(user.id)

Hi@Domon,很抱歉耽搁您的时间。我想跟进一下,看看你能否解释一下:
:user\u id
user\u id
user.id
之间的区别是什么?我认为user\u id需要用引号(
“user\u id”
)来表示与:user\u id相同的意思,我不知道相对于其他两个,user.id
意味着什么。