我想在Rails中做这样的事情:
People.order("#{params[:sort]}, first_name, middle_name, last_name")
这样安全吗?或者我是否需要自己解析params[:sort]
并确保它是事先列出的有效列?我不介意收到数据库错误,但我无法进行SQL注入。
答案 0 :(得分:0)
你可以这样做:
if People.attribute_names.include?(params[:sort].to_s)
People.order("#{params[:sort]}, first_name, middle_name, last_name")
end
答案 1 :(得分:0)