您的位置:首页 > 编程语言 > ASP

ASP.NET2.0 防止SQL注入的解决方案

2006-12-14 14:03 267 查看
原文
http://msdn.microsoft.com/msdnmag/issues/04/09/SQLInjection/
代码在
http://msdn.microsoft.com/msdnmag/issues/04/09/SQLInjection/default.aspx?loc=&fig=true#fig1
以下是翻译的部分片断:

原则执行
永远不相信用户的输入用验证控件,正则表达式,代码等等方式了来验证所有输入框
永远不使用动态SQL使用参数化的SQL或者存储过程

永远不使用管理员级别的帐户连接数据库

使用权限受限的帐户连接数据库
不要使用明文存储敏感信息将密码和其他敏感信息加密或者hash,连接字符串应该总是被加密
异常应该暴露最小的信息不要展现太多信息在错误消息里面;用户自定义错误来执行异常获取错误处理,以最小化错误信息;把debug设为false.
认识到SQL注入攻击不仅限于SQL SERVER是很重要的.其他数据库,包括Orancle,MySQL,DB2,Sybase以及其它数据库都是很容易受到此类攻击.SQL注入攻击是可能发生的,这是因为SQL语言包含一些特性,这些特性使它非常强大和灵活,即

通过使用一对"-"(也就是--)插入注释的能力

包多个SQl语句放在一起,并且在一个批处理中完成的能力

用SQL从一组标准的系统表中来查询元数据的能力

一般来讲,数据库支持的SQL特性越强大,它就越容易受到攻击。因此SQL SERVER经常成为攻击的目标也就不足为奇。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: