nodejs mysql中的mysql.format对未转移的输入安全吗?

ymdaylpp  于 2021-06-19  发布在  Mysql
关注(0)|答案(1)|浏览(337)

我听说准备mysql查询会阻止注入。我正在使用nodejs,所以我发现mysql正在准备查询。根据文件,
您可以使用mysql.format准备一个包含多个插入点的查询,对id和值使用正确的转义。
那是不是意味着我可以把没有替身的东西放进去 userId 获取一个名为 sql ?
代码是:

var sql = "SELECT * FROM ?? WHERE ?? = ?";
var inserts = ['users', 'id', userId];
sql = mysql.format(sql, inserts);
laawzig2

laawzig21#

很安全。
转义是由sqlstring模块执行的,您可以查看它的源代码以获取更多信息,它相当小。
你应该总是通过使用 ? 占位符或呼叫 escape 直接。但是,更推荐使用占位符,因为它可以防止您忘记手动转义。

相关问题