关于群众转让和相关安全风险的问题

时间:2011-02-02 22:20:57

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

我对我认为安全的解决方案有疑问,但想要第二个意见:

在我们的应用程序中,我们有一个用户模型,它具有'roles'属性。通常情况下,我没有这个属性可以批量分配,因为用户可以更新自己的信息,并可以操纵帖子哈希以包含“角色”。

然而,在这种特殊情况下,我们正在使用需要大量修补的轨道引擎(我们宁愿避免),除非我们保留属性可分配。

现在,我们的解决方案如下: 在控制器中的用户#update操作中,我们只需在更新之前从params哈希中剥离roles属性:

params[:user].delete(:roles)

虽然我知道这不是一个理想的解决方案,但它是否安全?

感谢您的专业知识,
欧文

1 个答案:

答案 0 :(得分:1)

您的解决方案有效,但不是那么理想。

我认为这个截屏是最先进的:

http://railscasts.com/episodes/237-dynamic-attr-accessible