使用asp页面为sql设置标志或以任何方式避免sql注入

时间:2011-09-23 17:30:59

标签: sql asp-classic sql-injection

我想知道是否可以为我的sql数据库设置我的asp代码集标志?虽然如果你有一个更好的建议,如何避免通过地址栏注入SQL,我也会采取这样做。

2 个答案:

答案 0 :(得分:2)

防止sql注入攻击的基本步骤是:

  1. 参数化您的查询;就是这样做:

    插入表格(列,列,列,列)值(?,?,?)

    让代码将参数传递给查询。

  2. 如果可以,请使用存储过程,并妥善处理您的情况(有一点需要注意 - 下面第3点)。

  3. 如果您使用存储过程,请不要在其中使用动态SQL,否则会再次暴露给SQL注入攻击。我的意思是避免在存储过程中连接字符串以构建语句。
  4. 验证用户输入(客户端服务器端 - 永远不信任javascript验证)
  5. 我认为遵循这4点会使你的应用程序免受sql注入攻击。

    我建议你也阅读下面jdavies发布的文章。它提供了一些额外的有用信息。

答案 1 :(得分:1)

请查看以下Microsoft文章,该文章深入讨论了您需要的内容以及不同的数据访问策略。

How To: Protect From SQL Injection in ASP.NET