【问题标题】:Rails 4: using both strong params and "normal" paramsRails 4:同时使用强参数和“正常”参数
【发布时间】:2014-02-22 09:47:01
【问题描述】:

我是 Rails 4 的新手。现在,我同时使用强参数和“普通”参数。正常参数是指params[:key],这是不允许的。

例如:

强参数:

def person_params
  params.require(:person).permit(:name, :age)
end

我同时使用person_params[:name]params[:key]。这会是未来的问题吗?我该怎么办。

【问题讨论】:

    标签: ruby parameters ruby-on-rails-4 strong-parameters


    【解决方案1】:

    您应该始终使用强参数。

    创建了强参数以避免the issue of Mass Assignment

    这意味着,如果您直接使用您的 params 哈希,您将面临有人发送带有他们不应该使用的参数的请求并在您的模型中成功覆盖它们的风险。

    这意味着,例如,某人可以通过恶意制作修改您的User 模型中假设的admin 属性的请求,从他们的“设置”页面获得您网站的管理员权限。

    使用强参数可以保证只有您明确允许的参数才能传递给模型,因此任何攻击者都不能破坏您的应用程序的限制。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-24
      相关资源
      最近更新 更多