es6模板文字是否可以防止sql注入?

es6模板文字在用于构建查询时防止SQL注入? 你能提供一些常见攻击的例子,以及它们将如何缓解?

更具体地说,我打算在节点项目中使用mssql模块。 在模板文字部分的文档中,它说“所有的值都会自动对SQL注入进行清理”。 这纯粹是因为ES6模板文字是如何工作的吗?


不,ES6模板文字只是构建字符串的另一种方式,如果要使用它们从所提供的用户输入构建原始SQL查询而不进行其他过滤/转义,则不会保护您免受SQL注入的影响:

let name = "Robert'; DROP TABLE Students;--"; // user supplied input

let sql = `SELECT * FROM Students WHERE name = '${name}'`; // build query...

console.log(sql); // Injected SQL!
链接地址: http://www.djcxy.com/p/93833.html

上一篇: Do es6 template literals protect against sql injection?

下一篇: How to handle SQL injection in mssql node module