我听说准备mysql查询会阻止注入。我正在使用nodejs,所以我发现mysql正在准备查询。根据文件,
您可以使用mysql.format准备一个包含多个插入点的查询,对id和值使用正确的转义。
那是不是意味着我可以把没有替身的东西放进去 userId
获取一个名为 sql
?
代码是:
var sql = "SELECT * FROM ?? WHERE ?? = ?";
var inserts = ['users', 'id', userId];
sql = mysql.format(sql, inserts);
1条答案
按热度按时间laawzig21#
很安全。
转义是由sqlstring模块执行的,您可以查看它的源代码以获取更多信息,它相当小。
你应该总是通过使用
?
占位符或呼叫escape
直接。但是,更推荐使用占位符,因为它可以防止您忘记手动转义。