2012-03-16 67 views
4

所以我知道的Rails有助于防止SQL注入这样使用时:轨find_by SQL注入

Object.find(:first, :conditions=>["name=?",name]) 

不过,我似乎无法找到,如果自动生成find_by和find_all_by方法保护agains SQL注入。

即:

Object.find_by_name(name) 

所以这两个调用具有完全相同的结果。我的问题是即使第二个更方便,我应该继续使用第一个,因为它提供了对sql注入的保护,或者第二个是否也这样做?

回答

8

是的,基于动态属性的发现者(find_by_*系列)保护你的应用程序免受sql注入。

+0

那么使用哪里比使用find更好? – srchulo 2012-03-16 11:56:39

+0

我把这个观点撤回了主观。我更喜欢它。 :) – 2012-03-16 11:58:35

+0

哈哈,好吧。非常感谢您的帮助! :) – srchulo 2012-03-16 12:17:48