该标签下有 1 篇文章
Rails 自带约定和安全默认值(CSRF 防护、Strong Parameters、ORM),用得对就很稳固。但事故来自运营。三大问题:(1) 过于宽松的 Strong Parameters 导致 Mass Assignment(覆写 is_admin 等);(2) 单薄的授权(登录=认证,但没有所有者范围);(3) 已知的 gem(依赖)CVE。此外还有在 where 中用字符串拼接导致的 SQLi、危险的动态方法(send/constantize)、以及泄露的 credentials/secret_key_base。防御:收紧 permit、让授权显式化、监控 gem 的 CVE。