我试图将一个字符串传递给.order
方法,例如
Item.order(orderBy)
我想知道如果orderBy在默认情况下被清除,如果没有,那么什么是最好的方法来消毒它.
订单没有得到消毒.这个
查询实际上会
删除Users表:
Post.order("title; drop table users;")
在运行查询之前,您需要检查orderBy变量,如果有任何方式orderBy可能会从用户输入中被污染.这样的事情可以工作:
items = Item.scoped
if Item.column_names.include?(orderBy)
items = items.order(orderBy)
end
原文链接:https://www.f2er.com/ruby/266705.html