Rails安全属性—发出未经授权请求的可访问用户



自从我了解了attr_accessible的安全漏洞后,我一直在努力非常小心地处理这类事情,所以我只需要澄清一下。

假设我有一个Comment模型,它有

attr_accessible :user_id

在我的表格中,我做

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

所以我不是从params中获取值,而是当前用户的实际ID。

然而,我关心的不是我自己的表格,而是流氓请求。例如,如果有人发送如下邮件请求:

POST comments?user_id=5 

当它们的user_id实际上是1时。他们能代表别人发帖吗?

谢谢。

是的,你说得对。我想我刚刚意识到了答案。基本上,当一个属性不可attr_accessible时,你想直接在控制器中设置它,这使得它不可能像我上面提到的那样用流氓请求来设置。此外,如果你的控制器直接从params设置一个变量,那么你就知道出了问题,而且这个变量基本上是attr_accessible。

感谢Flo

相关内容

  • 没有找到相关文章

最新更新