2013-07-23 128 views
0

自從我學習attr_accessible安全漏洞以來,我一直試圖對這種類型的內容非常小心,所以我只需要一些說明。Rails安全性attr_accessible用戶進行未經授權的請求

比方說,我有一個評價模型,它具有

attr_accessible :user_id 

在我的形式我做

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

所以我不從PARAMS取值,而當前用戶的實際ID。

然而,我的擔憂並不在於我自己的形式,而是與流氓請求有關。舉例來說,如果有什麼有人要發送POST請求如下:

POST comments?user_id=5 

當他們的USER_ID實際上是1。他們會能夠發佈代表別人嗎?

謝謝。

+1

實際上,我不會通過隱藏字段或表單發送current_user.id。你也可以訪問控制器內的current_user,這就是我喜歡的。 – Flo

回答

0

是的,你是對的。我想我只是意識到了答案。基本上,當一個屬性不是attr_accessible時,你想直接在你的控制器中設置它,這使得它不可能像上面提到的那樣被設置爲一個非法請求。另外,如果你的控制器直接從params中設置一個變量,那就是當你知道有什麼錯誤時,那個變量基本上是attr_accessible。

Thanks Flo

相關問題