ruby-on-rails – 为什么切片参数哈希在质量分配上造成安全问题
发布时间:2020-12-16 20:32:20 所属栏目:百科 来源:网络整理
导读:通过质量分配来防止安全风险的正式方法是使用 attr_accessible.但是,有些程序员觉得这不是模型的工作(或至少不仅仅是模型).在控制器中执行此操作的最简单的方式是将params哈希: @user = User.update_attributes(params[:user].slice(:name)) 但文件规定: N
通过质量分配来防止安全风险的正式方法是使用
attr_accessible.但是,有些程序员觉得这不是模型的工作(或至少不仅仅是模型).在控制器中执行此操作的最简单的方式是将params哈希:
@user = User.update_attributes(params[:user].slice(:name)) 但文件规定:
这是为什么?为什么白名单片段的params不能提供足够的保护? 更新:Rails 4.0 will ship strong-parameters,一个精细的参数切片,所以我猜整个切片的东西都没有那么糟糕. 解决方法
除了控制器之外,切片的问题可能与您的模型中的accept_nested_attributes_for相结合.如果使用嵌套属性,则需要在所有地方进行切片参数,在控制器中更新它们,这并不总是最简单的任务,尤其是深层嵌套的场景.使用attr_accesible你没有这个问题.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |