1

我想在 Rails 中做这样的事情:

People.order("#{params[:sort]}, first_name, middle_name, last_name")

这安全吗?还是我需要自己解析params[:sort]并确保它是一个有效列的列表?我不介意出现数据库错误,但我不能有 SQL 注入的可能性。

4

2 回答 2

0

你可以这样做:

if People.attribute_names.include?(params[:sort].to_s)
  People.order("#{params[:sort]}, first_name, middle_name, last_name")
end
于 2013-04-16T18:09:28.590 回答
0

订单默认不安全

看:

于 2013-04-16T18:30:48.100 回答