1

Я хочу сделать что-то подобное в Rails:Безопасен ли метод заказа ActiveRecord для вставки введенных пользователем строк?

People.order("#{params[:sort]}, first_name, middle_name, last_name") 

Является ли это безопасно? Или мне нужно разобрать params[:sort] и убедиться, что это список допустимых столбцов заранее? Я не против получения ошибки базы данных, но у меня не может быть возможности SQL-инъекции.

ответ

0

Вы можете сделать это:

if People.attribute_names.include?(params[:sort].to_s) 
    People.order("#{params[:sort]}, first_name, middle_name, last_name") 
end 
Смежные вопросы