Nodejs MySQL 防止SQL注入
https://blog.csdn.net/lin_tuer/article/details/54809330
方法一:使用escape()对传入参数进行编码:
参数编码方法有如下三个:
1 | mysql.escape(param) |
例如:
1 | var query = connection.query('SELECT * FROM users WHERE id = ' + connection.escape(userId) + ', name = ' + connection.escape(name), |
escape()方法编码规则如下:
1 | Numbers不进行转换; |
方法二:使用connection.query()的查询参数占位符:
可使用 ? 做为查询参数占位符。在使用查询参数占位符时,在其内部自动调用 connection.escape() 方法对传入参数进行编码。
如:
1 | var query = connection.query('SELECT * FROM users WHERE id = ?, name = ?', [userId, name], function(err, results) { |