在 Ruby on Rails 中,从 HTML 表单更新模型非常容易。通常你可以用模型创建一个form_for,当用户点击提交按钮时,里面的字段就会更新。
假设恶意用户想要在不通过适当渠道的情况下更新他们的“薪水”。难道他们不能在更新他们的电子邮件地址(例如)时只注入一个名为“薪水”的字段,并将他们的工资设置为基本上是他们想要的任何东西吗?我如何指定哪些字段可以修改,哪些不能防止这种情况发生?
看到类似的东西
@user.update_attributes(params[:user])
看起来很吓人。他们可以更新任何东西。我了解 attr_accessible 的使用,但这仅与大规模更新有关,不是吗?