在Expressjs项目中,我正在使用https://www.npmjs.com/package/mssql连接到Microsoft SQL Server并尝试执行存储过程。根据mssql
(https://www.npmjs.com/package/mssql#sql-injection)的文档,将处理所有我认为没有发生的SQL注入。
有人可以帮助我如何在此节点模块中处理SQL注入吗?
var sql = require('mssql');
var dbConfig = {};
var Connection = new sql.Connection(dbConfig);
Connection.connect().then(function(_connection){
var request = new sql.Request(_connection);
request.verbose = true;
request.input('username', 'patriksimek');
request.input('password', 'delete from dbo.Users where userId =1');
request.input('attempts', 2);
request.execute('my_stored_procedure');
})
提前致谢
您正在使用无法通过SQL注入的存储过程。
您不需要做任何事情。
SQL注入是通过将一些SQL语句传递给服务器来破解的技术。
例如,用于代码
'SELECT * FROM user WHERE username = ' + username
如果我通过了username = 'xxx; DELETE FROM user;'
,那么用户表中的所有记录都将消失
防止SQL注入
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句