昨天发布重大新闻后,我一直试图找到一篇关于如何针对不同版本的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博客上找到一篇文章说明这一点。我无法在其他地方找到它,有人可以请教我这个。谢谢!
答案 0 :(得分:0)
我在要点https://gist.github.com/1978249
中找到了这个添加以下初始化程序:
配置/初始化/ disable_mass_assignment.rb
ActiveRecord :: Base.send(:attr_accessible,nil)
看起来像是临时修复,直到rails core出现更好的东西!!