3
我用在我的項目squeel gem,我有一些代碼是這樣的:可能的SQL注入
def self.search(query)
return self.scoped if query.blank?
self.joins(:supplier).where{lower(supplier.supplier_name).like_any(["%#{query}%"])}
end
我的問題是這樣的代碼容易受到SQL注入?我該如何解決它?我試圖做sanitize(query)
,但它只是增加了引號的額外集和SQL語句沒有得到適當地產生
這是從續集?看起來它可能來自Squeel gem,而不是:https://github.com/activerecord-hackery/squeel - 請澄清一下,因爲漏洞或不註冊SQL將取決於哪個庫。我懷疑它不是脆弱的,但這些庫中的大多數都小心翼翼地逃避了用於查詢的參數。 –
@NeilSlater你是對的,讓我編輯這個問題,隨時回答謝謝 –
好吧,我可以回答,如果它是續集。 。 。但我沒有設置ActiveRecord數據庫,並且不確定,但我懷疑你的代碼不易受到攻擊。希望有一個更好的人會更有信心地回答。 –