所以我使用node js,我有下面的mysql查询,我使用npm mysql库来处理查询。
let userName = req.body.userName;
let sqlStatement = `SELECT COUNT(*) AS exist FROM user where username=${userName}`;
是新的es6语法自动阻止mysql注入。因为当我这么做的时候
let userName = req.body.userName;
userName = connection.escape(userName);
let sqlStatement = `SELECT COUNT(*) AS exist FROM user where username=${userName}`;
它在数据库中的数据周围加上单引号,比如“myusername”。有人知道这是为什么吗?或者如果新的语法自动阻止了它。
1条答案
按热度按时间qacovj5a1#
使用[]语法转义数据,如下所示