Llo*_*nks 5 node.js express node-mysql
我目前正在使用node-mysql库将我的应用程序连接到MySQL实例.在阅读了我发现的其他一些StackOverflow问题和文章后,听起来每次query()调用该方法时,node-mysql都会自动转义不安全的字符.但是在一些代码片段中,我也看到mysql.escape()并mysql.escapeId()在query()方法中被调用.
似乎在query()自动逃避一些危险角色的同时,你仍然应该打电话mysql.escape()并mysql.escapeId()逃避其他危险角色.
它是否正确?如果是这样,那么该query()方法会自动保护哪种SQL注入攻击,mysql.escape()以及通过调用和mysql.escapeId()?保护哪种SQL注入攻击?
go-*_*leg 12
不,query()不会自动转义不安全的字符.
要安全地转义值,您需要使用mysql.escape()/ mysql.escapeId()或使用?占位符,如下所述:
https://github.com/felixge/node-mysql#escaping-query-values
connection.query('SELECT * FROM users WHERE id = ?', [userId], function(err, results) {
// ...
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13724 次 |
| 最近记录: |