Внедрение SQL направляющих?

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

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

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

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

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

Post.all(:conditions => {:title => params[:title]})
31
задан rook 2 June 2010 в 23:13
поделиться

3 ответа

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

39
ответ дан 27 November 2019 в 22:21
поделиться

Одна хорошая ссылка из Руководств RoR.

8
ответ дан 27 November 2019 в 22:21
поделиться

+1 @fphilipe и @yuval Посмотрите это 5-минутное видео из railscast и это из rails guide

5
ответ дан 27 November 2019 в 22:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: