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?