2012-03-16 24 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