【问题标题】:Rails SQL injection?Rails SQL注入?
【发布时间】:2011-02-27 01:59:09
【问题描述】:

在 Rails 中,当我想通过用户给定的值查找并避免 SQL 注入(转义撇号等)时,我可以这样做:

Post.all(:conditions => ['title = ?', params[:title]])

我知道这样做的不安全方式(可能是 SQL 注入)是这样的:

Post.all(:conditions => "title = #{params[:title]}")

我的问题是,以下方法是否可以防止 SQL 注入?

Post.all(:conditions => {:title => params[:title]})

【问题讨论】:

    标签: ruby-on-rails security sql-injection


    【解决方案1】:

    是的,确实如此。只有第二个是危险的。

    【讨论】:

    • 感谢您的直接回复。
    【解决方案2】:

    来自 RoR 指南的 good reference

    【讨论】:

      【解决方案3】:

      +1 @fphilipe 和 @yuval 查看来自 railscast 的 5 分钟视频和来自 rails guide 的这段视频

      【讨论】:

      • 谢谢,我已经看过了,但它没有涵盖我的问题(关于最后一次发现)
      猜你喜欢
      • 2017-05-15
      • 2013-11-24
      • 2021-07-18
      • 2014-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-06
      • 1970-01-01
      相关资源
      最近更新 更多