关于 attr_accessible 的安全威胁的文章太多了,我开始怀疑我是否应该在其中包含任何属性。这是问题所在。我有一个Message
模型,它具有以下内容:
attr_accessible :body,:sender_id,:recipient_id
我update
的. edit
_ messages_controller
通过new
andcreate
操作,我可以创建一条新消息并将其发送给收件人。只有已登录并满足一定条件的用户才能互相发送消息。我在 a 的帮助下做到了这一点,before_filter
并且条件很好。消息已存储并可通过sender
和查看recipient
。完美的!
我的问题是,既然:body,:sender_id,:recipient_id
包含在 中attr_accessible
,恶意用户可以以某种方式更改:body,:sender_id,:recipient_id
原始消息的吗?我是否应该也将这些属性添加到其中attr_readonly
,以便保存后无法修改它们?
这个问题一直困扰着我几乎所有的模型。