【发布时间】:2013-07-23 12:34:12
【问题描述】:
自从我了解到 attr_accessible 的安全漏洞以来,我一直在尝试对这类东西非常小心,所以我需要澄清一下。
假设我有一个 Comment 模型,它有
attr_accessible :user_id
在我的表单中我这样做
= f.hidden_field :user_id, :value => @current_user.id
所以我不是从参数中获取值,而是从当前用户的实际 ID 中获取。
然而,我关心的不是我自己的表单,而是恶意请求。例如,如果有人要发送一个 post 请求如下:
POST comments?user_id=5
当他们的 user_id 实际上是 1 时。他们可以代表其他人发帖吗?
谢谢。
【问题讨论】:
-
实际上我根本不会通过隐藏字段或表单发送 current_user.id。您还可以访问控制器中的 current_user,这就是我喜欢的。
标签: ruby-on-rails security attr-accessible