问题标签 [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.
ruby-on-rails - 批量分配真的是 Homakov 的 GitHub hack 的罪魁祸首吗?
许多评论员(例如ZDNet)认为 GitHub 案例的弱点在于,Homakov 发现的模型易受攻击,因为它的属性启用了质量分配。
但是,我认为问题不在于这个,而是未能before_filter
在控制器中使用(或类似的)来确保他更新的表中的任何给定行只能由管理员或具有 ID 的用户更新列在该行中。如果控制器中有这样的过滤器,那么即使模型的属性是可批量分配的,表格也会受到保护。
我对么?
ruby-on-rails - 如果我将所有 db 列都放在 attr_accessible 中,我是否可以免受批量分配攻击?
我知道在 Rails 3.2 中,所有属性本质上都是“黑名单”,这迫使您通过attr_accessible
.
但是,如果我将表attr_accessible
中的每一列都设为,那我是否容易受到批量分配攻击?
如果不是,为什么不呢?
如果是这样,强制列入白名单有什么意义?
这是一个真正的问题,因为我的一个生产应用程序我被迫拥有这样的东西,只是为了让 Devise 工作:
想法?
ruby-on-rails - 使用质量分配的种子 has_many 关系
这是我的两个模型:
我正在尝试使用以下代码在 seed.rb 中播种数据库:
但是 rake db:seed 给了我以下错误信息:
可以像这样播种数据库吗?
如果是,一个后续问题:我已经搜索了一些,似乎要进行这种(嵌套?)批量分配,我需要为我想要分配的属性添加“accepts_nested_attributes_for”。(对于 Comment 模型,可能类似于 'accepts_nested_attributes_for :article')
有没有办法允许类似于'without_protection:true'?因为我只想在播种数据库时接受这种批量分配。
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 列表中,但没有运气。我如何将它们添加到列表中或至少覆盖它们?
ruby-on-rails - 在 Rails 中分配受保护的属性
我的用户模型上有一个受保护的字段,因为它决定了许可级别。所以它应该受到保护而不是大量分配。因此,即使属性在 3.2 中默认受到保护,这实际上也是我想要的行为。
但是,在一种控制器方法上,我希望允许经理分配此字段,例如在用户创建或用户更新时。
如何允许为特定控制器操作分配该属性?
例如,我有我的控制器:
现在我要做的是 exclude clearance
from params[:user]
,但它似乎在到达该行之前就被过滤掉并引发和异常(我尝试debugger
在该行之前放置一个权利,甚至将其注释掉,它仍然引发了一个异常)。
受保护的属性在哪里被捕获,如果不是在调用时User#new
?
ruby - Rails:MassAssignmentSecurity::Error
遵循ruby on rails 指南,开发人员无法批量分配受保护的字段,但尝试执行此操作时不会出现异常,对吗?new
但在我的情况下,通过应用程序中的方法批量分配不同的参数rails
:
引发以下异常:
为什么?我理解错了吗?这是一种不获得批量分配例外的方法吗?我认为在分配之前从哈希中删除受保护的属性并不方便。
更新:版本型号:
params[:edition].inspect
:
ruby-on-rails - rails:从父(主题)控制器更新子(帖子)导致的批量分配错误(编辑视图)
我正在尝试编辑一个有很多帖子的主题。主题的编辑页面具有可以编辑的主题name
和帖子。content
批量分配错误发生在 topic_controller.rb, update
method, 中post.update_attributes(params[:post])
。
如何避免批量分配错误。
主题.rb
post.rb
主题控制器.rb
意见/主题/edit.html.erb
意见/帖子/_form.html.erb
ruby-on-rails - 如何使用 has_many 避免批量分配错误:通过关系
我正在尝试对嵌套模型进行 update_attributes 并不断遇到质量分配错误。这是我的模型:
顺便说一句,用户 has_one 阵容。所以我认为通过将 Accepts_nested_attributes_for 添加到阵容模型中它会起作用,但事实并非如此。这是我的表格:
和我的阵容控制器动作:
最后,错误:
无法批量分配受保护的属性:piece_lineups_attributes
我在这里想念什么?谢谢!
ruby-on-rails-3 - 如何测试质量分配错误
似乎我想做与大多数人在测试 Rails 时要求的相反...
如何测试 FOR ActiveModel::MassAssignmentSecurity::Error。我已经明白了,只是想知道如何使它使我的测试用例变成绿色而不是红色。
当前测试:
我应该如何将其构建为适当的测试?我试过了:
但这对我也不起作用,我明白了
ruby-on-rails - 如何保护所有字段免受 mongoid 应用程序中的大规模分配
我已添加此修复程序https://gist.github.com/2382288以保护所有字段免受 mongoid 应用程序中的大规模分配。
在我的config/initializers/mongoid.rb
我添加了这个修复:
我的问题是:
此修复完全保护您的应用程序免受攻击批量分配?
还是建议 attr_accessible
在每个模型中添加所有属性?