Rails安全性attr_accessible用户发出未经授权的请求

时间:2013-07-23 12:34:13

标签: ruby-on-rails security attr-accessible

自从我通过attr_accessible了解安全漏洞后,我一直在努力对这类东西非常小心,所以我只需要澄清一下。

我们说我有一个评论模型,它有

attr_accessible :user_id

在我的表格中我做了

= f.hidden_field :user_id, :value => @current_user.id

所以我没有从参数中获取值,而是从当前用户的实际ID中获取值。

然而,我关心的不是我自己的形式,而是流氓请求。例如,如果有人发送帖子请求如下:

POST comments?user_id=5 

当他们的user_id实际为1.他们是否能够代表其他人发帖?

谢谢。

1 个答案:

答案 0 :(得分:0)

是的,你是对的。我想我刚刚意识到了答案。基本上当一个属性不是attr_accessible时,你想直接在你的控制器中设置它,这使得它不可能像我上面提到的那样设置一个恶意请求。此外,如果您的控制器直接从params设置变量,那就是当您知道某些错误并且该变量基本上是attr_accessible时。

谢谢Flo