0

好吧,我正在阅读有关 SQL 注入的信息,但我没有意识到它可能发生在 Visual Basic .NET 中-我正在使用 2008-因为我刚刚在 PHP 中阅读过它,我的问题是:我怎样才能避免这种情况?因为一个朋友在几分钟前做了它,那是我的桌面应用程序安全性的问题。

-谢谢-

4

2 回答 2

1

这适用于所有语言:

  1. 当您可以使用准备好的语句访问数据库时。通过将用户输入连接到查询中来避免构建数据库查询。
  2. 认真验证您打算在数据库语句中使用的任何数据。如果字段应该是整数,请在数据库中使用它之前检查它是否为整数。
  3. 如果存在某种形式的 ORM,它可能会为您执行 #1 和 #2(至少在某种程度上在 #2 上)。LINQ 应该为您解决这个问题。如果您选择使用 Linq,请使用 SqlParameter 来构建查询。
  4. 如果可能,请使用存储过程。
  5. 小心用户输入,即使它已被存储。
于 2012-07-27T14:03:14.833 回答
1

SQL 注入攻击不是特定于语言的。如果您接受用户输入并将其直接插入到您的 SQL 查询中而不对其进行清理,那么您的应用程序很容易受到 SQL 注入的攻击。

查看此答案,了解有关如何避免 SQL 注入攻击的更多详细信息。

您应该摆脱的一般想法是永远不要相信用户输入

于 2012-07-27T14:04:05.270 回答