当我使用 "text" 和 "values" 时,是否可以使用 Postgres Databse 在 NodeJS 中进行 SQL 注入?



package.json文件

{
"dependencies": {
"express": "^4.17.1",
"express-graphql": "^0.12.0",
"graphql": "^15.5.0",
"pg": "^8.5.1"
}
}

我的代码是

database = function(data){
// I can pass a string or an object type into "data"
var writeValue = {text:"INSERT INTO mydatabse(value) VALUES($1);",
values: [data]}
client.query(writeValue, (err, res) => {
if (err){
console.error(err)
console.log("i got an error!!!")
return err
}
});
return "hi " + data;
}

我可以将字符串或对象传递到data

thar是滥用sql的一种方式,还是这始终是防止sql注入的一种安全方式?

除非pg库中存在错误,否则应该不会受到SQL注入的影响。当然,它仍然可以插入你可能不想要的东西,比如从数据库中提取并天真地扔到网页中的文本,可能会导致网络浏览器做坏事。但这不是一个经典的SQL注入,而是其他的注入。

最新更新