如何解决如何在调用方法中获取CA2100 SQL注入警告
我有一个帮助方法,可以防止大量复制和粘贴。我想确保将根据规则“ CA2100:检查SQL查询中的安全漏洞”检查辅助方法“ MyExecuteSQLQuery”的调用方法。我该如何实现?
换句话说,我想收到类似这样的警告:
MyExecuteSQLQuery("update credentials set password = '" + password +"' where id = " + id);
Helper方法:
public static int MyExecuteSQLQuery(string sql,int timeout = 30)
{
using (MySqlConnection con = new MySqlConnection(DBConnectionstring))
{
con.Open();
using (MySqlCommand cmd = new MySqlCommand(sql,con))
{
if (timeout != 30)
{
cmd.CommandTimeout = timeout;
}
return cmd.ExecuteNonQuery();
}
}
}
解决方法
我认为这不是一个好主意。我想可以将您的方法添加到分析器中,但是重构您的方法以使用MySqlCommand
可能更容易,也许是这样的:
public static int MyExecuteSQLQuery(MySqlCommand cmd,int timeout = 30)
{
using (MySqlConnection con = new MySqlConnection(DBConnectionstring))
{
con.Open();
cmd.CommandTimeout = timeout;
return cmd.ExecuteNonQuery();
}
}
}
然后,当您构造MySqlCommand
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。