登录 | 注册 | 论坛 | 搜索 | 会员中心 | 关于我们
91LAMP   »   论坛首页    »   数据库技术   »    Ajax的安全问题  
  
上一主题 下一主题
 标题:Ajax的安全问题  

ch911amp
状态: 这家伙又在潜水~
等级: 会员发帖: 1帖
排名: 第48名积分: 3分
离线: 2008年11月06日
        
1 楼

Ajax的安全问题

Ajax的安全问题

最近学习清华的网站开发非常之旅《Ajax从入门到精通》。学到一些东西,与大家分享一下。Ajax虽然很好,但是在安全上需要注意。根据书中讲解,总结了以下3个法则。


(1)身份验证

    在传统Web应用程序中,当用户需要访问某些受保护的页面时,就需要先对用户进行身份验证,验证通常在被访问的页面上进行。在Ajax中,用户访问少数几个页面,而这些少量的页面通过XMLHttpRequest请求后台页面以获得丰富的数据或进行各种操作。这时身份验证不能仅仅在被用户访问的少数几个页面上进行,而同时也需要在与这些页面发生数据交互的所有后台页面上进行。
(2)防范SQL注入

    虽然Ajax请求是在浏览器后台发生的,用户不能直接控制,但是因为Ajax技术总是基于HTTP模型,所以即使使用Ajax来代替传统模式的交互,在面对SQL注入攻击时仍然没有任何先天优势。所以所有传统Web应用程序使用的防范SQL注入的方法,Ajax应用程序都需要。
防范SQL注入的一般方法是对用户提交的数据进行验证,以及对输出的错误信息进行必要的处理。对提交的数据进行验证包括数据类型的检查、数据长度的检查以及一些与SQL语句有关的敏感字符的过滤。对错误信息的处理表示当SQL语句发生错误时,不要直接将错误信息暴露给用户,而是输出一个替代的、不包含任何内部错误信息的友好错误提示,这样攻击者就不能依靠错误提示对数据库结构进行猜解。

(3)防范JavaScript注入

    一般情况下,这种攻击是毫无意义的,因为攻击者改变的只是页面在攻击者本地的一个副本。但是如果在一个高度依赖客户端脚本的应用程序中,某个关键的数据被修改了,而当这个数据被提交到后台程序时,且没有对其有效性进行足够的验证,则可能产生严重的后果。
    防范JavaScript注入的方法,就是将关键的业务逻辑放在后台处理,这样就可以避免JavaScript注入的攻击,同时还需要对关键的业务数据建立有效的校验机制,以防止虚假数据的提交。

大家要对这本书感兴趣,可以看看http://www.china-pub.com/42679

 

2008-11-06 14:49:20      
  
11/11


Powered by BbsFine 0.2 © 2002-2008 Xingmo.com Archiver
91LAMP ©2002-2008 版权所有 京ICP备05011686号