我使用nodejs,express和sequlize来显示一个表单并保存到数据库中,因为我是一个新的后台操作者,我想确保保存到数据库中的数据是安全的。
正如标题中所述,使用Seqlelize.Op.eq
来防止SQL注入是否足够,或者是否还应该使用其他一些技术(如规范化)?
该应用程序所做的是处理用户输入的“错别字”,并强调不正确的用法,并给出解释,为什么它是错误的。
因此,将保存到数据库的数据会有所不同。
这是我目前使用的代码
async function addStringToTable(string, uuid) {
// Save the input string to the database
try{
await UserText.create({
userText_field: { [Sequelize.Op.eq]: string },
uuidv4: { [Sequelize.Op.eq]: uuid }
});
} catch (e) {
console.log(e);
}
}
还有什么我需要注意的吗?
谢谢
1条答案
按热度按时间pcww981p1#
这就是ORM的美妙之处。即使不使用额外的语法。基本上只是写你的语法
这会自动防止sql注入。它相当于准备好的查询,你会在编写原始sql查询的情况下使用它。但是对于sequalize(和我知道的任何其他ORM),它会在每次查询时自动完成,不需要特殊的语法。你也可以通过记录sequalize代码输出的查询来确认这一点