问题标签 [mass-assignment]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
382 浏览

ruby-on-rails - 批量分配真的是 Homakov 的 GitHub hack 的罪魁祸首吗?

许多评论员(例如ZDNet)认为 GitHub 案例的弱点在于,Homakov 发现的模型易受攻击,因为它的属性启用了质量分配。

但是,我认为问题不在于这个,而是未能before_filter在控制器中使用(或类似的)来确保他更新的表中的任何给定行只能由管理员或具有 ID 的用户更新列在该行中。如果控制器中有这样的过滤器,那么即使模型的属性是可批量分配的,表格也会受到保护。

我对么?

0 投票
2 回答
387 浏览

ruby-on-rails - 如果我将所有 db 列都放在 attr_accessible 中,我是否可以免受批量分配攻击?

我知道在 Rails 3.2 中,所有属性本质上都是“黑名单”,这迫使您通过attr_accessible.

但是,如果我将表attr_accessible中的每一列都设为,那我是否容易受到批量分配攻击?

如果不是,为什么不呢?

如果是这样,强制列入白名单有什么意义?

这是一个真正的问题,因为我的一个生产应用程序我被迫拥有这样的东西,只是为了让 Devise 工作:

想法?

0 投票
1 回答
1849 浏览

ruby-on-rails - 使用质量分配的种子 has_many 关系

这是我的两个模型:

我正在尝试使用以下代码在 seed.rb 中播种数据库:

但是 rake db:seed 给了我以下错误信息:

可以像这样播种数据库吗?

如果是,一个后续问题:我已经搜索了一些,似乎要进行这种(嵌套?)批量分配,我需要为我想要分配的属性添加“accepts_nested_attributes_for”。(对于 Comment 模型,可能类似于 'accepts_nested_attributes_for :article')

有没有办法允许类似于'without_protection:true'?因为我只想在播种数据库时接受这种批量分配。

0 投票
1 回答
274 浏览

ruby-on-rails - ActiveMerchant 购买功能 rails 3.2.5 mass-assign

我正在使用 Rails 3.2.5。遵循 Ryan Bates 教程。

http://railscasts.com/episodes/145-integrating-active-merchant。我的 order.rb 有这个功能

由于 rails 3.2.5 使用 MassAssignmentSecurity。我收到以下错误。

我尝试将它们添加到 attr_accessible 列表中,但没有运气。我如何将它们添加到列表中或至少覆盖它们?

0 投票
2 回答
1810 浏览

ruby-on-rails - 在 Rails 中分配受保护的属性

我的用户模型上有一个受保护的字段,因为它决定了许可级别。所以它应该受到保护而不是大量分配。因此,即使属性在 3.2 中默认受到保护,这实际上也是我想要的行为。

但是,在一种控制器方法上,我希望允许经理分配此字段,例如在用户创建或用户更新时。

如何允许为特定控制器操作分配该属性?

例如,我有我的控制器:

现在我要做的是 exclude clearancefrom params[:user],但它似乎在到达该行之前就被过滤掉并引发和异常(我尝试debugger在该行之前放置一个权利,甚至将其注释掉,它仍然引发了一个异常)。

受保护的属性在哪里被捕获,如果不是在调用时User#new

0 投票
1 回答
1474 浏览

ruby - Rails:MassAssignmentSecurity::Error

遵循ruby​​ on rails 指南,开发人员无法批量分配受保护的字段,但尝试执行此操作时不会出现异常,对吗?new但在我的情况下,通过应用程序中的方法批量分配不同的参数rails

引发以下异常:

为什么?我理解错了吗?这是一种不获得批量分配例外的方法吗?我认为在分配之前从哈希中删除受保护的属性并不方便。

更新:版本型号:

params[:edition].inspect

0 投票
1 回答
158 浏览

ruby-on-rails - rails:从父(主题)控制器更新子(帖子)导致的批量分配错误(编辑视图)

我正在尝试编辑一个有很多帖子的主题。主题的编辑页面具有可以编辑的主题name和帖子。content

批量分配错误发生在 topic_controller.rb, updatemethod, 中post.update_attributes(params[:post])

如何避免批量分配错误。

主题.rb

post.rb

主题控制器.rb

意见/主题/edit.html.erb

意见/帖子/_form.html.erb

0 投票
2 回答
2310 浏览

ruby-on-rails - 如何使用 has_many 避免批量分配错误:通过关系

我正在尝试对嵌套模型进行 update_attributes 并不断遇到质量分配错误。这是我的模型:

顺便说一句,用户 has_one 阵容。所以我认为通过将 Accepts_nested_attributes_for 添加到阵容模型中它会起作用,但事实并非如此。这是我的表格:

和我的阵容控制器动作:

最后,错误:

无法批量分配受保护的属性:piece_lineups_attributes

我在这里想念什么?谢谢!

0 投票
1 回答
83 浏览

ruby-on-rails-3 - 如何测试质量分配错误

似乎我想做与大多数人在测试 Rails 时要求的相反...

如何测试 FOR ActiveModel::MassAssignmentSecurity::Error。我已经明白了,只是想知道如何使它使我的测试用例变成绿色而不是红色。

当前测试:

我应该如何将其构建为适当的测试?我试过了:

但这对我也不起作用,我明白了

0 投票
4 回答
616 浏览

ruby-on-rails - 如何保护所有字段免受 mongoid 应用程序中的大规模分配

我已添加此修复程序https://gist.github.com/2382288以保护所有字段免受 mongoid 应用程序中的大规模分配。

在我的config/initializers/mongoid.rb我添加了这个修复:

我的问题是:

此修复完全保护您的应用程序免受攻击批量分配?

还是建议 attr_accessible 在每个模型中添加所有属性?