c# – SQL注入漏洞

我们有一个ASP.NET / C#网站.我们的开发人员在亚洲离岸,我发现他们已经在网站前端放置了原始sql.

我担心我们现在容易受到sql注入攻击.有谁知道如何检测网站上的漏洞以及关闭它们的最佳方法是什么?

解决方法

尝试从前面检测漏洞可能会有所帮助,但实际上您应该查看代码,特别是与DbCommand,sqlCommand等相关的所有代码.关键点,如您所知,永远不会将用户输入连接到查询,但要参数化.有很好的工具可以使这种参数化变得容易 – 或者至少比手动操作更容易.例如,如果您有:

using(var cmd = conn.CreateCommand()) {
    cmd.CommandText = "delete from Orders where id = " + id;
    cmd.ExecuteNonQuery();
}

那么像dapper-dot-net这样的工具将允许你做以下事情:

conn.Execute("delete from Orders where id = @id",new {id});

这是一个较少的代码,主要是复制粘贴,但完全注入安全,并允许查询计划重复使用.

相关文章

目录简介使用JS互操作使用ClipLazor库创建项目使用方法简单测...
目录简介快速入门安装 NuGet 包实体类User数据库类DbFactory...
本文实现一个简单的配置类,原理比较简单,适用于一些小型项...
C#中Description特性主要用于枚举和属性,方法比较简单,记录...
[TOC] # 原理简介 本文参考[C#/WPF/WinForm/程序实现软件开机...
目录简介获取 HTML 文档解析 HTML 文档测试补充:使用 CSS 选...