ArangoDB AQL 是否受注入问题影响?

ArangoDB AQL is affected by the injection issue?

最近我在使用 AQL,我正在创建一个用于动态创建 AQL 脚本的库。

因为我没有发现任何与 PARAMETER INJECTION 问题相关的内容(例如 SQL INJECTION),如果我直接在 AQL 查询字符串中设置 FILTER 变量,您认为这安全吗?

如果您对所有用户定义的输入使用 bindParameters,则 AQL 解析器不会评估插入的值,因此不会执行注入的代码。

安全查询:

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

不安全查询:

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

正在插入某事。喜欢

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

in name 将 return 所有在保存查询中具有该字符串的元素(无害)。 在不安全的查询中,它会丢弃项目中的所有元素(有害)。