在Rails中,当我想通过用户找到给定的值并避免SQL注入(转义撇号等)时,我可以这样做:
Post.all(:conditions => ['title = ?', params[:title]])
Run Code Online (Sandbox Code Playgroud)
我知道这样做的一种不安全的方式(可能的SQL注入)是这样的:
Post.all(:conditions => "title = #{params[:title]}")
Run Code Online (Sandbox Code Playgroud)
我的问题是,以下方法是否会阻止SQL注入?
Post.all(:conditions => {:title => params[:title]})
Run Code Online (Sandbox Code Playgroud)