数字化校园主页信息管理系统的设计和实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数字化校园主页信息管理系统的设计和实现作者:冯兴利锁志海徐墨
来源:《现代电子技术》2013年第18期
摘要:旧版西安交通大学主页为静态网站,无数据库支持,制作、维护、升级和扩展的工作量巨大。

为此,采用Smarty模板引擎设计开发了基于MySQL的学校主页信息管理系统,大大提高了网站的建设和运行效率。

系统集成了学校统一身份认证平台,方便了用户管理,增强了身份认证安全;系统采用纯静态发布和服务器异地发布相结合的方式,全方位保证了网站的安全;系统同步了新闻、通知、学术资源等多个外部站点的信息,保证了各类信息发布的实时性、可靠性。

关键词:模板引擎;静态网站;同步;信息系统;数字化校园
中图分类号: TN919⁃34; TP393.4 文献标识码: A 文章编号: 1004⁃373X(2013)
18⁃0069⁃04
0 引言
西安交通大学是一所涵盖多个学科门类,集多个院系部门、本科书院、附属教学医院为一体的综合性研究大学[1],学校的日常事务涉及招生、教学、科研、就业等多个方面。

学校主页承载着学校各院系、各组织机构、各本科书院以及学校师资队伍、学科建设、招生就业、科研管理等多项信息,整合了学校新闻动态、通知公告、学术信息、师资招聘等各应用系统资源,网站信息量和访问量与日俱增。

旧版学校主页系统为静态网站。

采用静态网页制作技术开发的网站没有数据库支持,在网站制作和维护方面工作量较大,无法动态更新。

随着信息量及访问量的日益增加,完全依靠静态页面制作技术更新网站比较麻烦;同时,由于操作复杂,所有信息的更新仅由一到两个工作人员负责,工作量巨大;此外,静态网站改版困难、升级复杂、扩展效率低。

因此旧版学校主页亟待改版。

为了克服上述弊端,新版主页管理系统的设计必须实现信息的动态更新,以提高网站运行效率、降低Web应用服务器负载为前提,以保证各类信息准确、及时发布为重点,以确保网站文件安全为关键。

为此,本系统基于Smarty+MySQL设计,并集成学校统一身份认证平台,采用纯静态发布和服务器异地发布的方式开发完成。

1 系统开发技术
1.1 基于Smarty模板引擎开发
系统基于著名的PHP模板引擎Smarty开发完成,采用“视图和逻辑控制彻底分离”的设计思想,将网站UI与PHP代码彻底分开,既保证了程序员在修改程序时不会影响页面设计,也
使得美工在修改页面设计时不会影响程序逻辑。

Smarty的使用相比其他模板引擎可获得最快的建站速度,尤其适合像交大主页这种大型网站建站使用。

此外,Smarty强大的表现逻辑、智能的模板编译、灵活的缓存机制、高度的可配置和可扩展性以及完善的安全机制[2]提高了网站的建站效率和运行效率,加强了网站的安全。

1.2 集成统一身份认证
本系统登录模块采用与学校统一身份认证系统集成的方式[3]。

用户在访问受统一身份认证保护的系统时,只需在登录网关时使用数字化校园身份进行一次登录就可以在本次会话中访问其他所有受统一身份认证保护的系统。

通过集成统一身份认证网关,不仅避免了用户在多个系统间多次输入用户名和密码的繁琐过程,同时由于用户的密码在统一身份认证系统中通过https的安全传输方式进行传送,应用系统不会获得用户密码,极大地提高了用户密码的安全性;此外每一次的认证都使用了“单次票据”的机制,提高了用户交互过程的可信度[4]。

1.3 全站纯静态发布
1.4 服务器异地发布
将网站前后台放在同一台Web服务器上,更容易使网站后台遭受到恶意攻击。

本系统采用服务器异地发布的方式,将系统前后台数据放置在不同的服务器上,后台管理产生的网页静态文件通过FTP协议上传到前台服务器,用户只需在后台点击“发布”即可完成网页文件的异地发布。

服务器异地发布方式大大减少了网页文件被恶意篡改的风险。

1.5 站点信息同步
随着学校各类新闻、通知等实时信息的成倍增长,学校职能部门行政人员、院系管理人员等对学校各类信息的实时性和可靠性提出了更高的要求。

站点信息同步则是满足该要求的解决办法。

信息同步的方式根据网站数据的不同有所区别,对于HTML网页文件或jpg,doc,rar等可下载文件,可使用FTP协议同步;对于MYSQL等数据库文件的同步,可以采用两种方式实现:一种是使用数据库本身的同步功能,另一种是借助专用的数据库同步软件,这是因为本系统只需读取其他系统的信息,不需要对这些信息进行修改,只是单向同步。

本系统结合以上两种方式实现同步:数据库文件借助MYSQL数据库提供的同步功能实现,而对于数据库中涉及的图片、文档、视频等下载文件则使用文件传输协议到相关应用的服务器上读取,实现本系统信息与相关系统信息的同步和共享,保证了信息发布的可靠性和实时性。

其中,View代表提供给用户的界面,负责信息的收集和显示,不涉及信息处理;Controller负责处理View和Model的对应关系,并将View收集的信息传给Model;Model负责处理接收到的信息,并将处理结果传回给View[7]。

数据以及在数据上的运算构成了一个Model。

Model内部运行着系统核心的商业逻辑,用于维护内部数据,并为外部对象访问和修改内部数据提供相关的命令或查询。

同时当内部数据发生变化时,Model会将这个变化消息广播给所有与之相关的View[8]。

1.7 高速缓存技术
Smarty模板引擎提供的高速缓存技术可为指定页面生成缓存,亦可全站生成缓存。

当缓存变量$smarty⁃>caching开启后,Smarty在加载模板文件时首先会在缓存目录(可由程序员自定义)中查找相应文件,若当前模板文件和配置文件没有变化,Smarty不再对该文件进行重新编译,而是直接从缓存目录中读取,如果该文件存在,则直接使用它,否则对文件进行编译并保存到缓存目录下以便下次使用[9]。

2 系统数据库设计
经过分析,学校主页信息管理系统需要以下两个表:
2.1 栏目分类表
学校主页包含众多信息,需要对不同的信息进行归类。

因此创建一级、二级及二级以上栏目表来存储栏目信息成为数据库设计的首要问题,本表包含栏目编号、父类编号、上级栏目编号、栏目标题、栏目类型、链接地址、栏目装饰图片、管理人员、添加/更新时间、栏目状态(启用/禁用)、栏目序号等字段。

2.2 文章信息表
本表用于存储学校主页包含的所有栏目及其子栏目下的所有类型的内容信息,表中包含该篇文章所在栏目的栏目编号(该编号与栏目分类表的栏目编号相关)、文章标题、关键字、摘要、标题转向链接、标题图、正文(包含文字、图片、附件、视频、Flash等)、添加/更新时间等字段。

该表除了包含上述公用字段外,还可以为特殊栏目定制字段,例如为博士生导师栏目定制的字段有:姓名、姓名拼音(此处为自动提取汉字拼音,可由管理员编辑,便于多音字的处理)、性别、所在学院、所属学科、学历、所属党派、个人简介、工作简历、研究领域方向、科研项目、学术及科研成果/专利/论文、联系电话、电子邮箱、个人主页链接、联系地址、是否在其他学院兼任博导、个人照片等。

3.1 用户管理
(1)系统登录认证模块集成学校统一身份认证平台,并在此基础上增加用户角色分类和用户IP地址验证两种方式,实现系统的三层安全访问。

(2)可对管理员进行新增、编辑、删除、激活或锁定等操作,被“锁定”的账户不再具备后台管理权限,“激活”后方可使用。

(3)既可以对所有栏目统一设置管理员权限,也可为某个栏目单独设置管理员权限。

(4)可在系统日志中查看管理员登录系统的具体时间、登录时长和IP地址来源。

3.2 栏目管理
(1)可对栏目信息进行新增、删除、修改、排序等操作。

(2)网站的栏目层级不受限制,可根据实际情况建立所需层级的栏目。

(3)可对栏目状态进行“启用”或“禁用”编辑,“禁用”后的栏目及其子栏目将不能使用;“启用”后方可正常使用。

(4)提供栏目类型选择功能,可设定栏目内容为“一篇文章”、“多篇文章”或“外部链接”等形式。

3.3 文章管理
(1)提供文章的增加、删除、编辑、排序、置顶等功能。

(2)提供检索功能。

所有文章均可按照关键字、标题进行分栏目或全站检索。

(3)内置功能完备的文章编辑器,在充分兼容主流浏览器的基础上所见即所得;支持各种复杂的文本、超链接、表格、图片、Flash、视频文件、公式、附件的插入和编辑;支持Word,Excel等类型的文档直接导入,导入时能够保留文档的所有内容,包括格式、表格、图片等。

(4)可对内容进行“暂存”、“预览”、“发布”等操作。

(5)能够实现从新闻网、学术资源平台、通知公告、师资招聘等网站抓取信息并在本网站进行展示。

(6)能够导入已有的博导数据库,并将其字段和数据转换成适合本系统数据库使用的字段和数据。

3.4 发布管理
(1)网站采用动态更新、全站纯静态发布结合服务器异地发布的方式,使用FTP技术远程自动上传网页和文件[10]。

(2)网站发布可自动完成,也可通过手工方式选择性的单个或批量发布完成。

3.5 统计管理
具备网站访问量统计功能。

系统使用开源Web统计软件Piwik统计网站的访问量。

Piwik 是一套基于Php+MySQL技术构建的开源网站访问统计系统,其前身是phpMyVisites。

Piwik 能够针对站点、栏目和文章分别进行总访问量、年访问量、月访问量等多种形式的统计;能够统计浏览者的IP地址、来源网站、访问时间、停留时长、访问次数、所用浏览器版本/操作系统版本/显示器分辨率等信息;同时可将统计结果进行导出和打印[11]。

3.6 安全防范
(1)严格过滤用户输入。

一方面将所有使用SQL语句发给数据库服务器的字符串进行过滤并转义,确保用户的输入不会被浏览器错误的执行;另一方面对所有输入的字符串的长度、数据类型进行严格限制。

(2)网页前台文件服务器只存放.html文件,对于.php文件、文本文件、配置文件以及保存敏感数据的文件或特殊目录则存放在后台服务器Web文档的子目录下,同时对这类文件的读写权限进行严格设置,能够避免用户在浏览器中看到这些文件的完整代码[12]。

(3)系统完整详细地记录了网站的各种运行情况,可定期查看系统日志和用户反馈,便于管理员及时发现问题并加以防范。

(4)在集成统一身份认证的基础上,限制后台登录IP地址,同时对用户角色进行分类管理,更加增强了用户账户的安全。

4 结语
西安交通大学主页信息管理系统是以统一身份认证平台为基础,以数字校园建设规范为原则,以保证学校各类信息发布准确、安全、及时为首要条件开发完成的。

系统基于PHP模板引擎Smarty技术开发,这种页面设计和程序分离的开发方式为系统维护和改版升级增加了便利;系统采用纯静态发布和服务器异地发布方式结合,更加保证了前台服务器文件的安全;系统集成了学校统一身份认证平台,方便了管理员在不同应用之间切换,并在此基础上增加用户
角色分级和用户IP限制功能,加强了登录认证安全;系统在功能上实现了学校教学、科研、师资等重要数据以及各职能部门、院系等重要部门信息的管理工作,新版主页信息管理系统自2012年5月开始在全校范围内试运行,收到了良好的效果。

参考文献
[1] 西安交通大学信息与网络中心.西安交通大学简介[EB/OL].[2012⁃07⁃13].http:
///jdgk/1.html.
[2] GILMORE W J. PHP与MySQL5程序设计[M].朱涛江,译.2版.北京:人民邮电出版社,2007.
[3] 洪丹丹.统一身份认证服务器的研究与实现[J].中国教育信息化,2011(3):16⁃18.
[4] 西安交通大学信息与网络中心.西安交通大学用户注册中心
[EB/OL].[2013⁃01⁃12].http:///web/ca/index.jsp.
[5] 董斌.静态页面生成的网站系统研究[J].福建电脑,2009(8):160⁃161.
[6] 冯兴利,徐墨,锁志海.基于模板引擎Smarty的信息管理系统的设计[J].现代电子技术,2012,35(18):25⁃28.
[7] 邹天思,潘凯华,孙鹏. PHP开发典型模块大全[M].北京:人民邮电出版社,2009.
[8] 杜江. PHP5完全攻略[M].北京:电子工业出版社,2010.
[9] 郭红霞,陈斌,潘斌,等.基于Smarty的学科信息管理平台构建[J].成都大学学报:自然科学版,2012,31(4):408⁃409.
[10] 吴红刚.基于Mysql的高校核心数据查询系统[J].中国管理信息化,2013,16(3):110⁃111.
[11] 温明章.开源软件Piwik的门户网站统计技术和方法分析[J]. 现代图书情报技术,2012(9):81⁃86.
[12] 杨生举,赵昕晖.基于PHP+XML的人才信息管理系统实现与安全设计[J].计算机应用与软件,2012,29(2):221⁃223.。

相关文档
最新文档