gpt4 book ai didi

javascript - 在 postgres 插入/更新中正确分隔单引号

转载 作者:行者123 更新时间:2023-12-03 09:02:23 26 4
gpt4 key购买 nike

我很难弄清楚如何在 postgreSQL UPDATE 语句中的文本字段中分隔任何单引号。如果我考虑以下内容,将 ' 替换为 '' 似乎是需要的,但它仍然无法按我的预期运行。另外,如果有人在字符串中发送''',您会怎么做?

var userid = request.decoded.id;
var incomingString = "Hello I'm a user.";
var newBio = incomingString.replace("'", "''");

pg.connect(process.env.DATABASE_URL, function(err, client, done){
client.query("UPDATE users SET bio = "+newBio+" WHERE user_id = "+userid+"", function(err, result){
done();
if(err){
response.json({message:"err in db input."});
}
else{
response.json({message:"success"});
}
});
});

我应该简单地将上面的 SQL 语句更改为如下所示吗?这样是否解决了SQL注入(inject)漏洞并且需要转义单引号?

"UPDATE users SET bio = $1 WHERE user_id = $2", [newBio, userid]", 

最佳答案

您不应手动转义 SQL 特殊字符。

你的第二个例子是正确的。使用准备好的/参数化的语句可以消除 SQL 注入(inject)威胁。

关于javascript - 在 postgres 插入/更新中正确分隔单引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32273382/

26 4 0
文章推荐: javascript - 如何让ngForm知道它嵌套的表单已经提交
文章推荐: javascript - 触发