2011-06-20 43 views
1

因此,在任何人打敗我之前,我知道如何在調用Arel方法時執行此操作。我很好奇的是,如果有一種方法可以簡單地獲得用戶輸入的sql注入安全版本,所以我手頭上有它,可以做我想要的。RAILS:Arel中用戶輸入的安全參數化

理想我很想沿着線的東西:

safe_input_data = Person.sql_safe params[:user_data_for_arel_manipulation] 

我花了一些時間昨晚尋找的東西會做,但什麼也沒發現。我閱讀了所有的ActiveRecord方法,但是在文檔方面有插孔。簡單地通過方法名稱和這些方法的來源,我沒有看到任何東西。我希望有人知道一些事情。

回答

4

這會給你一個SQL安全的字符串:

safe_input_data = Person.sanitize(params[:user_data_for_arel_manipulation]) 

要知道,它也增加了單引號的字符串!因此"my unsafe input"變成"'my unsafe input'"

+0

非常好,謝謝:) – jaydel