我想知道清理正在传递给订单查询的用户输入的最佳方法。
我正在为rails应用程序编写API,并希望用户能够将order_by选项传递给api请求。
例如
get :index, :order_by => 'number asc'
我已经看到使用白名单作为常见解决方案来限制实际通过订单调用(gist example)的内容,但我认为我还需要更多内容。我也希望能够对任何嵌套的关联列进行排序,例如:
get :index, :order_by => 'user.last_name asc'
如何在防止任何SQL注入发生的同时实现这一目标?