c# - 如何保护 WinForms 应用程序免受直接 SQL

标签 c# winforms sql-injection

我有一些用 C# 编写的 WinForms 应用程序(用于开发一些简单应用程序的框架)。 我的框架后来将用于开发 win 表单应用程序。其他开发人员,他们通常是初学者,有时不使用参数 - 他们直接在代码中编写 SQL。所以首先我需要以某种方式在我的 C# 框架基类中进行保护。 我有一些基础类,它执行所有的 SQL 操作,所以我想我可以在执行查询之前在这里进行一些检查...... 我如何在 C# 中获得针对直接 SQL 的保护......?一些例子会非常有用。

最佳答案

如果您的同事正在编写他们的 SQL 语句,除了在所有查询中使用参数手动防止 SQL 注入(inject)外,没有任何保证/现实的方法可以防止 SQL 注入(inject)。即使在您的框架中提供一种机制也不是完美的解决方案,因为您仍然可以通过简单地忽略它(或忘记使用它)来绕过它。

与其推出自己的框架,不如考虑使用 ORM,例如 NHibernate ,它会为您处理这个问题(并且您不必在大多数时候自己编写 SQL 语句)。

关于c# - 如何保护 WinForms 应用程序免受直接 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2382358/

相关文章:

c# - 操作 PDF 文件,Windows 窗体 C#

c# - Odbc 命令。表名参数化

php - pdo防止sql注入(inject)

c# - 良好做法 : Loop And If statement

c# - 检查数据库记录映射中的空值

c# - 将字符串解析为具有自定义属性的枚举

c# - 如何在 Windows 窗体应用程序中保存应用程序设置?

c# - 在标签中显示数学

c++ - 此代码是否易受 SQL 注入(inject)攻击?我怎样才能让它安全?

c# - Paypal 并行支付