0
您好我有一个NOOB问题,根据在GITHUB发生的事情,他们的应用程序因为Rails中的安全漏洞而被利用。如何保护属性免受大规模分配
在Rails中保护对象属性的最佳方式是什么,但仍然允许在适用的情况下为它们分配值?
感谢
您好我有一个NOOB问题,根据在GITHUB发生的事情,他们的应用程序因为Rails中的安全漏洞而被利用。如何保护属性免受大规模分配
在Rails中保护对象属性的最佳方式是什么,但仍然允许在适用的情况下为它们分配值?
感谢
事实上的Rails 3.1添加了新的内置的方式来处理大量任务与角色这可能是要看看东西。
发行说明here
基本上它的工作原理是这样的:
class User < ActiveRecord::Base
attr_accessible :name
attr_accessible :name, :role, :as => :admin
end
这是什么让你做的是,你可以用下面的方法来允许用户在一个更新自己的信息你的控制器:
@user.update_attributes(params[:user])
这使用率永远不能更新在用户模式:role
属性。但是,当你有你的管理员用户管理在一个单独的控制器的角色,那么你可以通过用户的语法如下:
@user.update_attributes(params[:user], :as => :admin)
这将允许:role
属性被更新
感谢DanneManne帮助。我会这样做的。 – chell 2012-03-08 03:23:02