0

在 Ruby on Rails 中,从 HTML 表单更新模型非常容易。通常你可以用模型创建一个form_for,当用户点击提交按钮时,里面的字段就会更新。

假设恶意用户想要在不通过适当渠道的情况下更新他们的“薪水”。难道他们不能在更新他们的电子邮件地址(例如)时只注入一个名为“薪水”的字段,并将他们的工资设置为基本上是他们想要的任何东西吗?我如何指定哪些字段可以修改,哪些不能防止这种情况发生?

看到类似的东西

@user.update_attributes(params[:user])

看起来很吓人。他们可以更新任何东西。我了解 attr_accessible 的使用,但这仅与大规模更新有关,不是吗?

4

1 回答 1

2

您可以使用以下方法限制可以批量分配的字段:

attr_accessible :name, :address # no :salary
于 2013-03-20T20:42:46.957 回答