如果可以动态确定名称并且仍然阻止SQL注入攻击,那么如何正确提供表名?
例如:
以下作品,但我认为是不安全的:
dbclient.query("INSERT INTO " + table_name + " VALUES ($1, $2, $3)", [value_a, value_b, value_c])
我想等同于(但不起作用)的是:
dbclient.query("INSERT INTO $1 VALUES ($2, $3, $4)", [table_name, value_a, value_b, value_c])
编辑:我正在使用node-postgres:https://github.com/brianc/node-postgres.