SQL 注入时保护数据库 - ASP ASP.NET C# 如何防止SQL注入

SQL注入式防止数据库攻击的一个有效策略,攻击者将注入一个SQL语句到另外一个语句中,这个通常会损坏你的数据库。有数据库接口的Web网站通常在SQL注入的时候容易受到攻击,因为它们是基于动态的SQL。最简单的组织SQL注入分类是分析SQL串并移动语句之前的任何“--”(两个-符号,在sql查询分析器里代表注释)的发生,同时要小心注入时候含有分号,因为分号是给sql语句分界。如果一个用户怀有恶意,那么他会使用各种方法看穿你的系统,所以,最简单的保护数据库的方法就是避免动态的sql! 这点非常重要,可以用存储过程来代替。

什么是动态的sql呢?

举个例子: (asp asp.net c# 类似)

string sql = "select * from table1 where id=" + id + " and name='" + name1 + "'"

类似这样的语句一般都会存在SQL注入漏洞!

引用通告地址: 点击获取引用地址
标签: 安全
评论: 1 | 引用: 0 | 阅读: 1065 | 打印 | 打包 | 转发
  • 1 
无缘 [ 2009-05-15 11:28 | 回复 | 编辑 删除 ]
原来如此,我以前公司的项目就这么写的代码。很多ASP程序都这么写。可想而知...
  • 1 
发表评论
昵 称: 密 码:
网 址: 邮 箱:
验证码: 验证码图片 选 项:
头 像:
内 容:
  • 粗体
  • 斜体
  • 下划线
  • 插入图像
  • 超链接
  • 电子邮件
  • 插入引用