如何清除此SQL查询?

时间:2019-01-14 03:47:55

标签: ruby-on-rails ruby brakeman

我正在Post模型中编写一个SQL查询,以搜索数据库以使查询与Post正文匹配。我正在使用Brakeman gem来帮助审核应用程序的安全性,它返回的SQL查询很容易被注入。

查询

def self.search(search)
    where("body LIKE '%#{search}%'")
end

Post控制器,

if params[:search]
    @posts = Post.search(params[:search]).order("created_at    DESC").paginate(page: params[:page], per_page: 5)
else

1 个答案:

答案 0 :(得分:1)

您应该使用此:

def self.search(search)

        where("body LIKE ?", "%#{search}%")
end