gpt4 book ai didi

javascript - 防止 node-oracledb 中的 SQL 注入(inject)

转载 作者:行者123 更新时间:2023-11-30 00:07:20 28 4
gpt4 key购买 nike

是否node-oracledb转义/清理查询?它通过绑定(bind)参数化查询:

connection.execute(
"INSERT INTO countries VALUES (:country_id, :country_name)",
[90, "Tonga"],
function(err, result)
{
if (err)
console.error(err.message);
else
console.log("Rows inserted " + result.rowsAffected);
});

我查看了文档并快速浏览了源代码,但它没有说明或表明它逃避了查询。

如果没有,我正在考虑使用 node-mysql 的组合以及丰富的predicates在传递给 connection.execute 方法之前处理用户输入和查询。

最佳答案

驱动程序不执行转义,数据库执行,但仅当您使用绑定(bind)变量而不是字符串连接时。

您展示的示例是正确且安全的。

这是一个如何以错误的方式进行 SQL 注入(inject)的示例:

connection.execute(
"INSERT INTO countries VALUES (" + countryId + ",'" + countryName + "')",
function(err, result)
{
if (err)
console.error(err.message);
else
console.log("Rows inserted " + result.rowsAffected);
});

关于javascript - 防止 node-oracledb 中的 SQL 注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38015313/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com