基于信息安全的旅游管理系统防恶意注入设计与实现
2015-01-03孙浩然张鹏云
孙浩然 张鹏云 宋 凯
(河北经贸大学信息技术学院 河北 050061)
0 引言
随着计算机、通信、互联网和电子商务的不断发展,旅游业迎来了新的机遇和挑战,传统的手工管理方式已不能满足旅游景点管理者和游客的需求。为了改变传统旅游业的经营理念、提高管理水平和服务水准,需要建立健全、高效、有序的现代化旅游信息系统,充分发挥信息技术的引导作用。
河北省在《旅游业发展“十二五”规划纲要》里边明确提出了加快搭建京津冀一体化旅游信息平台,提高旅游服务效率,全面推动智能化、信息化与旅游业结合。本文针对旅游景区导游、游客、旅游景点等内容开发了管理系统并增强了系统的安全性,希望为景区的数字智能化建设增砖加瓦。
1 系统分析
良好的系统结构能够提高开发效率,增强代码的可读性、可维护性和可重用性。本系统采用高内聚低耦合的思想,设计了基于B/S的多层架构模型。该模型分为:用户层、应用层以及数据持久层,如图1所示。采用这种设计模式的优点在于使得系统各个功能模块分层清晰,各司其职,便于系统开发调试,使得系统可以方便地扩展功能。
在本系统中,当用户浏览器产生一个HTTP请求或者ajax请求时,服务器应用层的Action将会获得请求参数并实例化对应的model类,之后将model交给Service处理,然后Service将调用封装了Hibernate的数据持久层来对数据库进行增删改查,最后Struts将Service处理的数据通过JSP页面、XML、json格式的数据返回用户的浏览器。这样就实现了一次用户请求。
图1 系统结构
2 系统设计
2.1 系统功能设计
根据对西柏坡旅游管理系统进行的详细需求分析,该系统分为以下六个模块:工作人员管理模块、游客信息管理模块、订单管理模块、旅游资源管理模块、景区文化管理模块和文档管理模块。
工作人员管理模块主要对景区的工作人员信息的管理,包括导游、环卫工人、服务员、安保人员、维修工人的统一管理,比如人员的出勤情况、绩效考核、人员调度等。方便管理者高效管理人员。
游客信息管理模块主要收集游客信息,并且进行统计分析,产生报表,为景区决策提供数据支持。游客信息主要包括姓名、性别、身份、年龄、旅游时间、旅游轨迹等等。
订单管理模块对用户的订单进行统一管理,方便管理员操作,并且能大大降低出错率。提高工作人员效率。管理者能够通过系统的订单统计功能了解景区业绩。
旅游资源管理模块主要是对景区的硬件资源进行一个有效的整合,包括整个景区的所有展馆信息,革命旧址信息。景区内的各种设备的管理也是非常必要的,包括摄像头、观光游览车,路灯,展示屏,公告牌,景区介绍牌,文物标注等基础设施的管理。实现硬件资源的数字化管理。
文档管理模块主要负责管理一些西柏坡相关的电子文档,尤其是针对那些跟革命历史相关的文档、红色新闻、美文欣赏、革命精神学习文件以及红色文化资源的整合管理。该模块的功能包括电子文档的查询、上传、删除和修改。
其它管理模块主要是管理景区新闻、系统日志和用户日志、公告通知或者站内信等内容。这些数据和景区门户网站上所显示的内容一致。
2.2 数据库设计
数据库的设计往往决定项目实现的难易程度。本系统数据库严格按照关系型数据库的第三范式来设计,消除了函数传递依赖,减少了大量的冗余数据。
按照需求分析的结果,本系统设计了13张数据库表,满足了管理系统功能所需的所有数据。其中 ER图主要部分如图 2所示:
图2 ER图主要部分
3 关键技术
3.1 防SQL注入、脚本注入技术
传统的查询是采用拼接字符串的方式组装SQL语句,有可能造成SQL注入攻击,本项目采用了预编译的SQL语句,使得用户参数不会和SQL语句发生匹配关系,不论参数是什么,都能够保证系统安全的查询。
Javascript脚本注入虽然不能对服务器造成影响,但是会对用户浏览器造成恶意破坏,窃取用户浏览器的cookie信息,所以脚本安全也是非常必要的。本项目采用 struts中的过滤器将数据进行了编码和转义,确保恶意代码在浏览器中只是以字符形式显示,不能被浏览器执行,这样就保证了安全性。
3.2 响应式CSS框架
本项目采用 Bootstrap 响应式前端框架的栅格系统作为网页的框架,用其中的CSS样式定义了界面的风格,提高了项目的开发速度、解决了浏览器兼容性问题、使得网页大方美观,系统能自适应各个终端设备的屏幕,使得网页能用最佳的分辨率和尺寸显示,给用户更好的浏览体验。
3.3 AJAX
本项目采用AJAX技术实现了异步的数据加载,降低了网络传输的数据量,提升了用户体验。系统大量应用 AJAX,实现了无缝刷新,使得网页像桌面程序一样运行。ajax请求得到服务器响应时的关键代码如下:
4 结语
本课题为提高西柏坡旅游信息化服务水平,提出了基于B/S架构的西柏坡旅游管理系统,运用当今先进的系统设计思想,充分发挥了J2EE技术的Web开发能力,提高了开发效率的同时使得系统运行高效、稳定、安全可靠。系统操作界面简单易用,提高了景区的管理水平,减轻工作人员的负担。
[1]河北省旅游业发展“十二五”规划纲要.[EB/OL]http://www.hebeitour.gov.cn/article.php?action=one&ai=1236.
[2]史金磊,朱海荣.基于B/S的中小型酒店预订房间系统的设计与实现[J].河北工业科技.2009.
[3]贝岩.响应式Web设计实现方法研究[J].渤海大学学报(自然科学版).2014.
[4]熊文,熊淑华,孙旭,张朝阳.Ajax技术在Web2.0网站设计中的应用研究[J].计算机技术与发展.2012.