Is ActiveRecord's “order” method vulnerable to SQL injection?

后端 未结 5 2200
我寻月下人不归
我寻月下人不归 2020-12-17 10:32

I know it\'s not safe to use interpolated strings when calling .where.

e.g. this:

Client.where(\"orders_count = #{params[:orders]}\")

5条回答
  •  一整个雨季
    2020-12-17 11:17

    Client.order("#{some_value_1}, #{some_value_2}")

    should be written as

    order = sanitize_sql_array(['%s, %s', some_value_1, some_value_2])
    Client.order(order)
    

提交回复
热议问题