Я использую 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 оператор не получает генерируется соответствующим
Является ли это от Sequel? Похоже, что это может быть от Squeel gem вместо: https://github.com/activerecord-hackery/squeel - проясните, потому что уязвимость или не SQL-инъекция будет зависеть от той библиотеки. Я подозреваю, что это * не * уязвимо, хотя большинство этих библиотек тщательно избегают параметров, используемых для запросов. –
@NeilSlater, вы правы, позвольте мне отредактировать вопрос, не стесняйтесь ответить спасибо –
Ну, я мог бы ответить, если это было Sequel. , , но у меня нет ActiveRecord db, и я не знаю точно, хотя я подозреваю, что ваш код не уязвим. Надеюсь, кто-то, кто лучше знает, сможет ответить с большей уверенностью. –