跳到主要内容

node-oracledb 参数

前面在做采购控销系统时没有做防 sql 注入,尽管是内网自用,但还是很不安全。后来改了一下,connection.execute() 可以带参数执行,能够防止 sql 注入

使用

const oracledb = require('oracledb')

const result = await connection.execute(
`INSERT INTO countries VALUES (:country_id, :country_name)`,
{
country_id: { dir: oracledb.BIND_IN, val: 90, type: oracledb.NUMBER },
country_name: {
dir: oracledb.BIND_IN,
val: 'Tonga',
type: oracledb.STRING,
},
}
)

console.log('Rows inserted ' + result.rowsAffected)

以上内容来自 Bind Parameters for Prepared Statements