问题标签 [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 投票
1 回答
358 浏览

ruby-on-rails-3 - 这是否容易受到批量分配的影响?

我使用它来允许用户对条目进行投票:

这是我的控制器代码:

我有两个问题

  1. 如何在current_user.id不使用隐藏字段的情况下进行分配?

  2. 另外,我现在没有使用attr_accessibleattr_protected使用 Vote 模型。我应该如何保护模型以确保有人不能创造很多选票?现在,Vote 模型中的所有字段都由params哈希设置——我应该使用attr_protectedentry_id键,然后在控制器中单独设置它吗?

0 投票
1 回答
121 浏览

ruby-on-rails - 关于批量分配和相关安全风险的问题

我对我认为安全的解决方案有疑问,但希望获得第二意见:

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

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

现在,我们的解决方案如下:在控制器的 user#update 操作中,我们只需在更新之前从 params 哈希中删除角色属性:

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

感谢您的专业知识,
欧文

0 投票
1 回答
6826 浏览

ruby-on-rails - 嵌套表单触发“无法批量分配受保护的属性”警告

我有一个多层嵌套表格

并以相同的形式

位置表单工作正常,现在我正在尝试指定当前任务的先决条件。先决条件是存储在 :completed_task 字段中的 task_id。

当我提交表单时,输出中出现以下错误

用户中的每个任务都有一个警告。

我已经完成了与此相关的所有其他问题,确保正确引用了字段名称 :completed_task,

将 attr_accessible 添加到我的模型中(它已经存在并且我对其进行了扩展)。

我不确定我还应该做什么。

我的模型看起来像

表格使用了formtastic,我通过

有什么建议么?

0 投票
7 回答
45714 浏览

python - 使用动态变量名称一次分配多个变量

我知道我可以一次将多个变量分配给多个值:

并且有 foo = 1,bar = 2,依此类推。

但是我怎样才能使变量的名称更加动态呢?IE,

和有同样的吗?

0 投票
3 回答
4195 浏览

ruby-on-rails - Rails 批量赋值定义和 attr_accessible 使用

只是想清楚什么是质量分配以及如何围绕它进行编码。批量分配是使用散列分配许多字段,即像..

为了防止这种情况,您可以使用attr_accessible,例如:

所以不能通过批量分配添加像 :admin 这样的字段?

但是我们可以在代码中修改它,例如:

那么,如果我们没有attr_accessible那么所有东西都可以用于批量分配,这是真的吗?

最后是棘手的一点......即使有一个像“ attr_accessible:name”这样的attr_accessible,是否意味着现在无法访问所有其他字段以进行批量分配?

0 投票
1 回答
1290 浏览

ruby-on-rails - HABTM 质量分配的替代方法

我和这个问题有类似的情况,已经发布了。科拉克托问

我正在使用一个简单的用户授权模型,其中两个 ActiveRecords 用户和角色用户和角色彼此之间具有 HABTM 关系。. . 使用@user.roles 或@user.role_ids 手动分配角色是可行的,但不是User#new 或User#update_attributes 中的“魔法”。

奥列格建议

被添加到用户模型中。这将允许批量分配操作员更新角色。但是,出于安全考虑,他告诫不要使用这种方法。

我对奥列格的回答有一个后续问题-

在这种情况下,是否有推荐的方法来更新角色而不使用批量分配?

另外,假设

  1. 您对用户进行身份验证,
  2. 仅允许管理员通过在 users_controller 中放置 before_filter 来对用户进行 CRUD,

大规模分配 role_ids 仍然是一个有效的问题吗?

0 投票
3 回答
8702 浏览

ruby-on-rails - 有没有办法绕过批量分配保护?

我有一个 Rails 3 应用程序,它对对象进行 JSON 编码,以便将它们存储在 Redis 键/值存储中。

当我检索对象时,我试图解码 JSON 并从数据中实例化它们,如下所示:

问题是这样做涉及到大量分配,这是不允许的(我被告知有充分的理由!)对于我没有赋予 attr_writer 能力的属性。

有没有办法仅针对此操作绕过批量分配保护?

0 投票
2 回答
6095 浏览

ruby-on-rails - simple_form 中的嵌套属性返回批量分配错误

楷模:

看法:

控制器:

当我填写并提交 /posts/new 表格时,终端显示:

我尝试在主题模型中添加:post_attributesattr_accessible但这并不能解决它。会不会是表格?

0 投票
2 回答
564 浏览

ruby-on-rails - 相关模型中的 HashWithIndifferentAccess

我有一个 Rails 应用程序,我在其中链接两个数据库中的字段。数据库的东西似乎都很好。

但是,我有一种形式,我将远程数据库中的描述映射到本地数据库中的产品。

用于创建产品和选择描述的表单工作正常

当我提交表单时,我收到一个错误

我似乎无法弄清楚为什么会这样。

发布的参数看起来不错

0 投票
4 回答
63280 浏览

ruby-on-rails - 无法批量分配受保护的属性

更新代码格式以便更好地查看。

伙计们,

我一直在看这个一段时间,但我不明白这里可能会出现什么问题。我正在使用设计。

结尾

-------------------- 日志输出开始 --------------- ---

在 2011-05-28 11:43:27 -0700 开始 POST "/users" for 127.0.0.1 由 RegistrationsController#create 作为 HTML 参数处理:{"utf8"=>"√", "authenticity_token"=>"CEmdqlsmdYa6Jq0iIf5KAxxISsUCREIrFNXWkP80nhk= ", "user"=>{"email"=>"a2@gmail.com", "password"=>"[FILT ERED]", "addresses_attributes"=>{"0"=>{"street_address1"=> "234 Pitkin Ct.", "zip"=>"12456"}}}, "commit"=>"Sign up"} 警告:无法批量分配受保护的属性:addresses_attributes SQL (0.0ms) BEGIN SQL (164.0 ms)显示表
用户负载(0.0ms)选择usersidusers哪里 ( users.email

-------------------- 日志输出结束 --------------- ---

zip 存在于发布的数据中,并且发布的数据似乎格式正确。在网页表单上,我收到“地址 zip 不能为空白”的错误。我已经挖掘了导致“无法批量分配受保护属性”警告的原因,但没有找到任何可以帮助我的东西。

感谢您的想法和指点。

-S