You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用node-postgres的INSERT关联查询写法是否能防范SQL注入?

你的写法完全能防范SQL注入

你的这段代码用了PostgreSQL客户端标准的参数化查询方式,完全可以防范SQL注入,原因如下:

  • 所有外部传入的变量(var1、var2、var6ProvId等)都通过values数组传递,SQL文本里只用$1-$6这类占位符指代,不会把变量内容直接拼进SQL语句里。数据库会自动把这些参数当作纯数据处理,不会解析成可执行的SQL代码。
  • 从provider表获取的prov_first_name、prov_email是固定的表字段名,不是外部可控的输入,这部分也不存在注入风险。

只要你一直坚持这种参数化查询的写法,不手动拼接用户输入到SQL字符串中,就不用担心SQL注入问题。

附你的代码片段:

const newEmailRecord = {
  text: 'INSERT INTO email(col1, col2, col3, col4, col5, col6, col7) (SELECT $1, $2, prov_first_name AS col3, prov_email AS col4, $3, $4, $5 FROM provider WHERE prov_id=($6))',
  values:[ var1, var2, var3, var4, var5, var6ProvId],
}
  
await client.query(newEmailRecord);

内容的提问来源于stack exchange,提问作者RJA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 10:20:24