var userId = req.query["id"];
var sqlStr = 'select * from user where id = "' + userId + '"';
connection.query(sqlStr, function(err, userObj) {
// ...
});
正常情况下,我们都可以得到正确的用户信息,比如用户通过浏览器访问/user/info?id=11进入个人中心,而我们根据用户传递的ID参数展现此用户的详细信息。但是如果有恶意用户的请求地址为/user/info?id=11";drop table user--,那么拼接成的SQL查询语句就是:select * from user where id = "11";drop table user--。注意:最后连续两个减号表示忽略此SQL语句后面的语句。原本执行查询用户信息的SQL语句,在执行完毕之后会把整个user表丢弃掉!