Подтвердить что ты не робот

Rails SQL-инъекция?

В Rails, когда я хочу найти заданное пользователем значение и избежать SQL-инъекции (escape-апострофы и т.п.), я могу сделать что-то вроде этого:

Post.all(:conditions => ['title = ?', params[:title]])

Я знаю, что небезопасный способ сделать это (возможная инъекция SQL) таков:

Post.all(:conditions => "title = #{params[:title]}")

Мой вопрос в том, предотвращает ли SQL-инъекцию следующий метод или нет?

Post.all(:conditions => {:title => params[:title]})
4b9b3361

Ответ 1

Да, да. Только второй опасен.