Rails d'injection SQL?
Dans les Rails, quand j'ai envie de trouver un utilisateur donné de la valeur et d'éviter les injection SQL (échapper les apostrophes et autres) je peux faire quelque chose comme ceci:
Post.all(:conditions => ['title = ?', params[:title]])
Je sais que d'une façon dangereuse de le faire (ce qui est possible d'injection SQL) est-ce:
Post.all(:conditions => "title = #{params[:title]}")
Ma question est, est la méthode suivante prévenir l'injection SQL ou pas?
Post.all(:conditions => {:title => params[:title]})
Vous devez vous connecter pour publier un commentaire.
Oui, c'est fait. Seule la seconde est dangereux.
Un bonne référence du RoR Guides.
+1 @fphilipe et @yuval Cochez cette 5 min de la vidéo à partir railscast et un guide rails