關於attr_accessible的安全威脅有很多文字,我開始懷疑我是否應該擁有任何屬性。這是問題。我有一個Message
模型,有以下幾點:attr_accessible需要的問題和解釋
attr_accessible :body,:sender_id,:recipient_id
我沒有update
或edit
行動在我messages_controller
。通過new
和create
操作,我可以創建一條新消息並將其發送給收件人。只有已登錄且符合特定條件的用戶才能互相發送信息。我在before_filter
的幫助下做到了這一點,條件正常。該消息已存儲,可通過sender
和recipient
查看。完善!
我的問題是,:body,:sender_id,:recipient_id
包含在attr_accessible
中,惡意用戶可以以某種方式更改原始郵件的:body,:sender_id,:recipient_id
?我是否應該僅將這些屬性添加到attr_readonly
以便保存後不能修改它們?
這個問題一直困擾着我幾乎所有的模型。
sender.id == current_user.id。這就是我目前的方式。儘管如此,是否存在威脅? – pratski 2013-05-13 13:56:23
爲什麼你會把sender_id放在列表中呢?這不應該是允許大規模分配的字段。 – aromero 2013-05-13 14:00:04