Pet*_*own 0 security ruby-on-rails
我正在对Rails 2.3.8应用程序进行安全审计,其中一个问题是我们缺少attr_protected或attr_accessible在我的模型定义中.我理解他们背后的原因,甚至写了一个宝石来协助大规模分配,但我正在寻找可能会遗漏的属性.
我遇到的问题是确定哪些字段应该受到保护.人们通常会遵循这些规则吗?我在想像外键和像管理员这样的布尔值?保护会有意义.我也想知道像STI类型和多态*_type/*_ id字段这样的字段.我看到Rails 3引入了默认保护的属性,但Rails 2.3.8似乎没有这个.
任何有关这方面的指导将不胜感激.
我的一般经验法则是,您不希望用户修改的任何属性都应受到保护.
所以在我的模型中,我使用attr_accessible了作为表单中的字段存在的所有属性.所有其他人都受到保护 (我宁愿默认保护所有内容.)
换句话说:假设客户端发送的所有数据都将被恶意篡改.
编辑:相关博客文章http://www.kalzumeus.com/2010/09/22/security-lessons-learned-from-the-diaspora-launch/
| 归档时间: |
|
| 查看次数: |
1187 次 |
| 最近记录: |