pgp-promise ライブラリを使用して簡単なクエリを作成しようとしています。私の元の実装は次のようになります。
var bar = function(orderBy){
var qs = 'select * from mytable order by ${orderBy};';
return db.many(qs,{orderBy:orderBy});
}
...
bar('id').then(...)
しかし、これは、私も引用符を追加しようとして、orderBy パラメータに二重引用符を追加non-integer constant in ORDER BY
しようとしても役に立たないというエラーを出します。プロジェクトでそのようなコードを望まない理由は明らかなはずですが、実行すること${orderBy}
で実用的な解決策があります。var qs = 'select * from mytable order by "' + orderBy + '";'
私の質問: pg-promise を使用して、SQL インジェクションに対して脆弱ではない order by 句を使用してクエリを作成する方法はありますか?