注文クエリに渡されるユーザー入力をサニタイズする最善の方法を考えていました。
Rails アプリ用の API を作成していますが、ユーザーが API リクエストに order_by オプションを渡せるようにしたいと考えています。
例えば
get :index, :order_by => 'number asc'
ホワイトリストを一般的な解決策として使用して、実際に注文呼び出しに到達するものを制限することを見てきました ( gist example )が、もっと何かが必要だと思います。また、次のように、ネストされた関連列でもソートできるようにしたいと考えています。
get :index, :order_by => 'user.last_name asc'
SQL インジェクションの発生を防ぎながら、これを達成するにはどうすればよいでしょうか?