2010年4月第14卷第2期
宁波职业技术学院学报JournalofNingboPolytechnic宁波职业技术学院学报
Apr,2010
Vol.14No.2
Ajax技术在Web开发中的安全研究
石
怡
214101)
(江苏信息职业技术学院计算机工程系,江苏无锡
摘
要:分析了Ajax应用程序可能存在的安全隐患,总结得出了几种可行的应对策略与方法。通过使用这些
方法,可以较全面地掌握Ajax应用程序的安全漏洞,并有效减少Ajax技术在用户验证、服务端/客户端通信、客户端存储等方面的安全缺陷。
关键词:Ajax;Web2.0;安全;策略;方法中图分类号:TP311.52
文献标识码:A
文章编号:1671-2153(2010)02-0084-03
0引言
随着网络信息技术的飞速发展,Web2.0新技
理逻辑被安装在客户端时,攻击者只需通过反编译程序及调试器,就可以轻易将这些应用程序转换为源程序,然后发掘出里面的所有安全漏洞。甚至还可以对这些程序进行修改。Ajax应用程序架构恰恰是属于后者,更为严重的是,JavaScript是一门解释型语言,而非编译型语言,当开发者在Web应用程序中编写客户端JavaScript代码时,实际上是将脚本的源代码写入到页面中。
(2)攻击层面扩大。虽然局部页面刷新等功能大大提升了Ajax应用程序的响应能力,但是也会使Web服务器需要处理更多的输入数据
[3]
术层出不穷,这其中最引人注目的当属Ajax(异步
JavaScript与XML)技术。Ajax融合了HTTP,XHTML,CSS,DOM,JavaScript等多种现有技术,利
用XMLHttpRequest对象进行后台异步数据读取,实现了页面的动态显示和交互,不需刷新浏览器窗口即可满足用户的操作,从而增强了客户端的用户体验[1]。
1Ajax应用安全隐患
尽管Ajax即时数据反馈的特点实现了良好的
。例
如,如果要在搜索文本框中加入自动完成的功能,那么就需要绑定文本框中的keypress事件,并通过XMLHttpRequest向服务端发送客户输入的信息。在传统的Web应用程序中,搜索文本框代表着一个单独的攻击点:表单输入。而在Ajax应用程序中,自动搜索文本框则存在两个攻击点:表单输入和Web服务。在网站上,接受和处理的用户请求越多,风险也越大。因而就必须进行额外的安全设置以确保不会出现新的攻击漏洞,协调客户端与服务端两者统一并且异步的进行工作,这无形中使得Ajax应用程序设计的复杂度不断的提高。
(3)客户端与服务端通信风险。在胖客户端
用户交互,但危险的安全威胁也随之而来。Ajax的逻辑可以将客户端的安全扫描技术隐藏起来,允许黑客从远端服务器上建立新的攻击。就如同对企业数据建立了一个直接通道[2]。这使得开发者在不经意间会暴露比以前更多的数据和服务器逻辑的漏洞。潜在的安全风险主要有3个方面。
(1)客户端透明度增加。传统的Web应用程序将大量的应用逻辑集中在服务端,它们对于客户端用户是不可见的,攻击者无法只是简单地反编译应用程序来查看其内部实现机制。当程序处
收稿日期:2010-01-01
作者简介:石怡(1981-),女,江苏无锡人,助教,硕士研究生,研究方向为.NET应用开发。
·84·
2010年第2期