齐新力,郭亚莎,邹振宇
(成都理工大学信息科学与技术学院,成都610059)
随着社会的发展,计算机技术几乎进入了生活的每个领域,电子商务、电子货币和网上测试等网络业务的兴起,用户数据信息的合法性校验变得越来越重要。对于一个Web应用,所有的用户数据都是通过浏览器收集的[1],如果用户操作不熟练,输入出错,硬件设备不正常,网络传输的不稳定,甚至恶意用户的蓄意破坏等等,这都有可能造成输入异常,轻则导致系统非正常中断,重则导致系统崩溃。所以我们要在提交用户输入的数据前,对数据进行过滤,将异常输入过滤掉。对异常输入的过滤,称为数据校验[2]。
Struts2是一个服务器Java Web开发框架,它采用MVC(模型—视图—控制器)模式[3]。它的数据校验流程[4]如图1所示。
客户端校验是比较简单和初级的校验方式,通过在JSP等视图文件中,嵌入JavaScript代码来完成输入数据的过滤。其中JavaScript[5]是一个功能强大的网页脚,我们可以在其中定义校验函数,代码中的过滤条件大多采用正则表达式来作判断。在JavaScript中定义了校验函数后,只需将该校验函数绑定到表单的onSubmit属性即可运行。客户端校验是在用户输入数据提交到后台服务器之前进行的,主要防止由于用户的误操作带来的异常。
只有客户端校验防止异常发生是不够的,有些恶意的用户可以轻易地越过客户端校验,直接向该Action的URL提交数据,这样就会产生很大的安全风险,所以服务器端的校验是很必要的。……