【发布时间】:2012-07-12 21:35:56
【问题描述】:
我有一个关于在我的应用程序中防止 SQL 注入的问题。
我的 Web 应用程序的两个不同功能使用文本框,用户可以使用它们从 MSSQL 数据库中搜索项目。此信息显示在 GridView 中。
我使用这种方法创建查询:
sqldatasource.SelectCommand = "SELECT x from x where this_id LIKE '%" + txtbox.Text + "%' ORDER BY x ASC";
显然,接受用户输入并将其直接输入到这样的查询中会打开基本的 SQL 注入。请有人解释一下我可以如何参数化它以防止我的应用程序中的 SQL 注入?
提前致谢
【问题讨论】:
-
Mike91:有两种方法可以问这个问题。第一种方法是“我很懒。有人可以发布指向参数化查询的文档的链接......或者更好 - 只需为我编写我的代码吗?”。第二种方式是“我已经阅读了文档并且理解了原理,但我不确定如何将其应用于此查询:“...”。我尝试了这个:“...”但它给出了这个错误:“...”。知道如何解决这个问题吗?“。您认为哪个问题更有可能得到答案?
-
+1 表示有很好的提问意识。我真的,真的希望更多人这样做。
标签: c# asp.net sql sql-server code-injection