1

最近は AQL を扱っており、AQL スクリプトを動的に作成するためのライブラリを作成しています。

PARAMETER INJECTION の問題 (SQL INJECTION など) に関連するものは何も見つからなかったので、FILTER 変数を AQL クエリ文字列内に直接設定しても安全だと思いますか?

4

1 に答える 1

3

すべてのユーザー定義入力に bindParameters を使用している場合、挿入された値は AQL パーサーによって評価されないため、挿入されたコードは実行されません。

安全なクエリ:

FOR x IN items FILTER x.name == @name RETURN x

安全でないクエリ:

"FOR x IN items FILTER x.name == " + name + " RETURN x"

sth を挿入します。お気に入り

'a' LET t = (FOR h IN items DELETE h)

in name は、保存クエリで正確にこの文字列を持つすべての要素を返します (害はありません)。安全でないクエリでは、アイテム内のすべての要素が削除されます (有害)。

于 2015-08-13T07:34:46.050 に答える