如何解决Rails批量分配问题?

时间:2012-03-05 16:47:37

标签: ruby-on-rails security mass-assignment

昨天发布重大新闻后,我一直试图找到一篇关于如何针对不同版本的Rails修复此问题的可靠文章,我无法这样做。

到目前为止,我找到的最佳资源是https://gist.github.com/1978249#file_securing_rails_updates.md,但它只提供了一种解决方案:将ActiveRecord::Base.send(:attr_accessible, nil)添加到初始值设定项中。这也是http://railspikes.com/2008/9/22/is-your-rails-application-safe-from-mass-assignment此时提出的解决方案。

然而,与此同时,我记得在其他地方看到只是打开配置:config.active_record.whitelist_attributes = true应该就够了。

我非常困惑,从所有这些不同的资源中,我需要在两个解决方案之间做出决定,这些解决方案没有任何参考它们适用于哪些版本的Rails。

也许我在事件发生后错过了一篇关于修复的通用文章,但我没有在rails博客上找到一篇文章说明这一点。我无法在其他地方找到它,有人可以请教我这个。谢谢!

1 个答案:

答案 0 :(得分:0)

我在要点https://gist.github.com/1978249

中找到了这个

添加以下初始化程序:

配置/初始化/ disable_mass_assignment.rb

  

ActiveRecord :: Base.send(:attr_accessible,nil)

看起来像是临时修复,直到rails core出现更好的东西!!