zoomla!逐浪CMS与您分享六种asp.net 如何防范SQL注入攻击技术

转载 2012年03月26日 20:25:08
与您分享六种来自zoomla!逐浪CMSasp.net 如何防范SQL注入攻击方法:
 ⑴ 对于动态构造SQL查询的场合,可以使用下面的技术
   第一:替换单引号,即把所有单独出现的单引号改成两个单引号,防止攻击者修改SQL命令的含义。再来看前面的例子,“SELECT *from Users WHERE login = ’’’ or ’’1’’=’’1’ AND password = ’’’ or’’1’’=’’1’”显然会得到与“SELECT * from Users WHERE login = ’’ or ’1’=’1’AND password = ’’ or ’1’=’1’”不同的结果。
  第二:删除用户输 入内容中的所有连字符,防止攻击者构造出类如“SELECT * from UsersWHERE login = ’mas’ —— AND password=’’”之类的查询,因为这类查询的后半部分已经被注释掉,不再有效,攻击者只要知道一个合法的用户登录名称,根本不需要知道用户的密码就可以顺利获得访问权限。
  第三:对于用来执行查询的数据库帐户,限制其权限。用不同的用户帐户执行查询、插入、更新、删除操作。由于隔离了不同帐户可执行的操作,因而也就防止了原本用于执行SELECT命令的地方却被用于执行INSERT、UPDATE或DELETE命令。
  ⑵用存储过程来执行所有的查询。SQL参数的传递方式将防止攻击者利用单引号和连字符实施攻击。此外,它还使得数据库权限可以限制到只允许特定的存储过程执行,所有的用户输入必须遵从被调用的存储过程的安全上下文,这样就很难再发生注入式攻击了。
  ⑶限制表单或查询字符串输入的长度。如果用户的登录名字最多只有10个字符,那么不要认可表单中输入的10个以上的字符,这将大大增加攻击者在SQL命令中插入有害代码的难度。
  ⑷ 检查用户输入的合法性,确信输入的内容只包含合法的数据。数据检查应当在客户端和服务器端都执行——之所以要执行服务器端验证,是为了弥补客户端验证机制脆弱的安全性。
  在客户端,攻击者完全有可能获得网页的源代码,修改验证合法性的脚本(或者直接删除脚本),然后将非法内容通过修改后的表单提交给服务器。因此,要保证验证操作确实已经执行,唯一的办法就是在服务器端也执行验证。你可以使用许多内建的验证对象,例如RegularExpressionValidator,它们能够自动生成验证用的客户端脚本,当然你也可以插入服务器端的方法调用。如果找不到现成的验证对象,你可以通过CustomValidator自己创建一个。
  ⑸ 检查提取数据的查询所返回的记录数量。如果程序只要求返回一个记录,但实际返回的记录却超过一行,那就当作出错处理
  ⑹将用户登录名称、密码等数据加密保存。加密用户输入的数据,然后再将它与数据库中保存的数据比较,这相当于对用户输入的数据进行了“消毒”处理,用户输入的数据不再对数据库有任何特殊的意义,从而也就防止了攻击者注入SQL命令。System.Web.Security.FormsAuthentication类有一个HashPasswordForStoringInConfigFile,非常适合于对输入数据进行消毒处理。
更多精彩内容请阅读:zoomla!逐浪CMS

相关文章推荐

分享来自zoomla!逐浪CMS的ASP.NET学习全过程

分享来自zoomla!逐浪CMS的ASP.NET学习全过程   第一步 掌握一门.NET面向对象语言,C#或VB.NET   我强烈反对在没系统学过一门面向对象(OO)语言的前提下去学ASP.N...

分享来自zoomla!逐浪CMS的三个ASP.NET实用技巧

分享来自zoomla!逐浪CMS的三个ASP.NET实用技巧   在服务器端控件中添加客户端属性   我们有时会向服务器端控件中添加一些特殊的属性,这类属性不需要服务器端的处理,只需简单的发送至...

zoomla!逐浪CMS分享php与.Net的比较

zoomla!逐浪CMS与您分享php与.Net的比较         PHP跟.NET,一个面向个人(php),一个面向大型系统(当然,做小系统也是可以的,只是资源占用相对比较多小点)离旗鼓相当还...

分享来自zoomla!逐浪CMS的.net十个优势

分享来自zoomla!逐浪CMS的.net十个优势  跨语言标准基本类型: VB开发人员曾经面临一个致命的问题:VB中的字符串与C++中的字符串不同,所以调用Windows API函数的时候会...

分享来自zoomla!逐浪CMS的在.Net开发中五个重要的认识误区

分享来自zoomla!逐浪CMS的在.Net开发中五个重要的认识误区:   .net如今已经很流行,成为赶时髦的程序员的首选。但是,大量刚刚接触.net的程序员的确存在一定的认识误区,这里...

分享来自zoomla!逐浪CMS的基于.Net Framework的四种N层分布式应用开发

分享来自zoomla!逐浪CMS的基于.Net Framework的四种N层分布式应用开发 一、分布式处理概述 分布式处理是将应用程序逻辑分布到2台或者更多台计算机上,在物理上或逻辑上分离的单...

十项全能革新网站开发技术-Zoomla!逐浪CMS2 x3.9.1发布

 *瘦金体书法欣赏《荷池》-From Zoomla!逐浪CMS首席架构师,以喻逐浪软件之高洁卓越。 山有扶苏,隰有荷华。  不见子都,乃见狂且。  -《诗经. 国风》 ...

十项全能革新网站开发技术-Zoomla!逐浪CMS2 x3.9.1发布

免费下载:https://www.z01.com/down/3166.shtml *瘦金体书法欣赏《荷池》-From Zoomla!逐浪CMS首席架构师,以喻逐浪软件之高洁卓...

千套模板千万共享-盛载云技术的zoomla!逐浪CMS5.0强势推出

千套模板门户利器        网上办公随手可得        微博应用无所不能      ...

zoomla!逐浪CMS与您分享用Dreamweaver进行网页优化的技巧

zoomla!逐浪CMS与您分享用Dreamweaver进行网页优化的技巧 合理调用CSS 进行网页设计时,运用样式表单CSS来对页面元素进行布置,可以大大地减少HTML代码,这点我们已经很清楚。...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)