Ссылки на эту тему:
http://www.ruby -forum.com / тема / 90258 # новый
http://www.ruby -forum.com / тема / 82349 # 143790
Метод find () ActiveRecord имеет встроенные способы избежать внедрения SQL
используя формат
> :conditions => [ "user_name = ?", user_name]
Существует ли такая система для избежания инъекций по порядку? Кажется
только взять строку и передать ее в оператор SQL. Это вызывает
уязвимость при использовании параметров для установки: порядок как в этой функции:
def list
sort_by = params[:sort_by]
@book_pages, @books = paginate :books,
:order => sort_by,
:per_page => 10
end
Мы пробовали несколько методов для дезинфекции sort_by, таких как order => ['?',
sort_by], но он просто передает это в оператор SQL как плоский
массив. «Спасение магии» не работает для порядка. Должен ли я использовать
GSUB! очистить параметры [: sort_by]?