0

我有以下行的方法

@noticias = Noticia.where(:tags.all => array).paginate(:page => params[:page])

碰巧brakeman说它有可能的sql注入。我尝试了以下方法:

 array = params[:query].split(' ')
    array.each_with_index  do |query, index|
      array[index] = array[index].gsub(/<\/?[^>]*>/, "").downcase
    end


    array.each do |tag|
      @noticias << Noticia.where(:tags => tag)
    end

但我得到了类似 `undefined << for nil:NilClass
我错过了什么?

4

1 回答 1

1

如果您使用的是 Mongodb,则可以确保您的代码没有 SQL 注入。

尽管 MongoDB 不易受到 SQL 注入之类的攻击,但可能值得检查搜索字符串是否有任何恶意。 mongodb教程

于 2012-06-17T17:11:45.447 回答