1
我想要做這樣的事情在Rails的:ActiveRecord的訂單方法是否可以安全地插入用戶輸入的字符串?
People.order("#{params[:sort]}, first_name, middle_name, last_name")
這安全嗎?或者我需要自己解析params[:sort]
,並確保它是預先列出的有效列表?我不介意發生數據庫錯誤,但我不能有SQL注入的可能性。
我想要做這樣的事情在Rails的:ActiveRecord的訂單方法是否可以安全地插入用戶輸入的字符串?
People.order("#{params[:sort]}, first_name, middle_name, last_name")
這安全嗎?或者我需要自己解析params[:sort]
,並確保它是預先列出的有效列表?我不介意發生數據庫錯誤,但我不能有SQL注入的可能性。
你可以這樣做:
if People.attribute_names.include?(params[:sort].to_s)
People.order("#{params[:sort]}, first_name, middle_name, last_name")
end
我想要一個逗號國家環保總局評級列表的屬性,但這回答了我的問題。謝謝 –