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

原文
代码在
以下是翻译的部分片断:
 原则 执行
 永远不相信用户的输入 用验证控件,正则表达式,代码等等方式了来验证所有输入框
 永远不使用动态SQL
  •  使用参数化的SQL或者存储过程

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

 使用权限受限的帐户连接数据库
 不要使用明文存储敏感信息将密码和其他敏感信息加密或者hash,连接字符串应该总是被加密
 异常应该暴露最小的信息 不要展现太多信息在错误消息里面;用户自定义错误来执行异常获取错误处理,以最小化错误信息;把debug设为false.
 
认识到SQL注入攻击不仅限于SQL SERVER是很重要的.其他数据库,包括Orancle,MySQL,DB2,Sybase以及其它数据库都是很容易受到此类攻击.SQL注入攻击是可能发生的,这是因为SQL语言包含一些特性,这些特性使它非常强大和灵活,即
  • 通过使用一对"-"(也就是--)插入注释的能力
  • 包多个SQl语句放在一起,并且在一个批处理中完成的能力
  • 用SQL从一组标准的系统表中来查询元数据的能力

一般来讲,数据库支持的SQL特性越强大,它就越容易受到攻击。因此SQL SERVER经常成为攻击的目标也就不足为奇。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值