0

私は次の行のメソッドを持っていました

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

たまたま、brakemanSQLインジェクションの可能性があると言っています。代わりに次のことを試しました。

 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 に答える