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数据库,并且不确定,但我怀疑你的代码不易受到攻击。希望有一个更好的人会更有信心地回答。 –