网络教学平台中的核心页面技术
2013-08-20张兴武
张兴武
(同济大学 软件工程学院,中国 上海201804)
0 引言
所设计的网络教学平台是面向Internet 或局域网的, 这种应用尤其是对远程数据库的访问采用的基本都是C/S 结构 (Client/Server,客户端/服务器端)的应用模式。 要想实现这样一个网络应用,必须编写一个服务器端web 应用程序; 选择一个发布程序的web server ,如apache 、IIS 等;架设一个数据库服务器。其中,需要采用的核心页面技术有如下几个方面:
1 用户的标识和身份验证
由于现在多数用户通过多级代理服务器或宽带方式来访问局域网或Internet,这为唯一标识用户身份增加了难度,需要设计合理的用户身份验证机制来保证每个用户操作数据的合理性和有效性。
1.1 标识问题
本平台主要通过将用户的IP 地址与帐号(学生学号或教师编号)相结合,组合成一个复合标识字段,并通过密码和姓名验证的方法来唯一标识每个终端用户。 (如果可能的话,在今后的发展中可以增加IP地址与MAC 地址相互绑定的办法来解决校园内部局域网的标识问题,这个需要学生每人具有一台PC 机).
1.2 一次性口令身份验证
一次性口令身份验证(OTP )平台的开发和对具有这种特征的应用软件的使用,己经使得网络安全技术发生了很大的变化。 实现了OTP之后,对于入侵者来说,要通过口令安全平台来发起攻击实际上是不可能的。
根据目前关于MD4 和MDS 加密方法的Internet Drags 和RFC 文档,OTP 保护安全的平台对于高度安全的应用程序来说被认为是安全的,实现OTP 是一个很明智的实践。
1.2.1 迭代、种子和通行证短语
使用OTP 初始化用户ID 进行身份验证包括几个部分: 迭代(iteration)值、种子(seed )值和一个只有用户知道的秘密通行证短语(secret pass phrase)。 迭代值是一个计数器,每次用户向给定的服务器进行身份验证就减少一次,这就是在每次注册尝试时使用不同口令的原因。 种子是一个由服务器提供的短语,每次进行身份验证尝试时都向用户提供种子。 通行证短语是一条用户必须知道的信息。 迭代值和种子是由平台提供的,使用这些值和正确的通行证短语,用户就可以使用计算器产生正确的挑战口令/答复。
1.2.2 OTP 保护的平台交互过程
OTP 的工作方式是将公共可用的信息“挑战”与只有用户才知道的 “秘密通行证短语” 结合起来产生正确的答复, 即Something You Know (SYK),其操作包括两个方面:客户机和主机。 在客户机方面,必须产生适当的一次性口令。在主机方面,服务器必须验证一次性口令,允许用户秘密通行证短语的安全改变。 OTP 保护的平台交互步骤如下:
1)用户机向服务器发出登陆请求。
2)服务器首先向用户提示一个“挑战”( challenge ),挑战由种子值和迭代值组成, 挑战的答复是使用用户工作站中一个特殊的程序calculator 来产生的。
3)客户端使用种子和迭代值,并与用户的秘密通行证短语组合在一起,通过OTP calculator 中的一个散列算法,计算出单用口令,从而产生对挑战的答复。用户的秘密通行证短语从来也不会在任何时间通过网络,包括注册时和执行要求身份验证的其它命令。 即使两个用户使用相同的迭代和种子值,如果他们选择不同的通行证短语,那产生的口令也不会是相同的。 从而,保证了OTP 不易遭受偷听、口令重用、偷窃或口令文件攻击。
4)挑战的答复由客户端通过网络传回服务器。
5)服务器验证;用户对挑战的答复,决定是否成功登录。
1.2.3 在平台中具体实现OTP
根据OTP 平台的运行机理, 用户进行身份验证包括二个部分:迭代值、种子值和秘密通行证短语。因此在平台用月户初始化时,必须提供上述信息,并允许用户在使用中动态改变。在平台中,采用以下规则来定义用户身份验证信息:
以学生学号或教师编号作为种子值。
迭代值在用户信息初始化时由平台确定,一般根据学制及课程情况,学生定为100,教师为l80 左右。
秘密通行证短语在初始化时暂定为学生学号或教师编号,在第一次成功登录后由用户自行修改。
学生信息在新生入学时, 根据招生办信息数据库自动进行初始化;教师信自、依据人事部门档案信息进行初始化。 并保证学生或教师在校期间内唯一、安全、有效。
当用户登录平台时,服务器将以由用户帐号和迭代值组成的挑战提示用户;然后用户根据挑战值和秘密通行证短语,通过安装在客户机端的密码计算器软件,例如Winkey.exe,计算出挑战答复并将该答复传到服务器端,由服务器进行口令验证以决定是否成功登录。 具体源码如下:
2 数据库访问与管理
建立数据库连接的语句, 由于ASP 系统以Visual Basic 的基本思想作为指导, 因此ASP 程序也是一种面向对象的程序.建立数据库连接使用的是服务器对象ADODB 中的子对象——数据库对象Connection.代码如下:
3 文件上传的技术
由于ASP 本身没有提供文件上传的功能,而采用FTP 实现文件上传又不利于作业文件的统一管理和存档.为此,对于文件上传,采用如下的技术:
3.1 以VB 开发了一个文件上传的组件fileup, 并且把这个组件安装到服务器上.之所以没有使用公用的同类共享组件,是觉得自己编写的组件不会有木马,使用的也较少,遭受黑客攻击的可能性就比较小。
3.2 浏览器端用户通过表单选择文件后发出上传指令,由服务器端的fileup 组件负责把文件内容写到服务器的指定位置, 并同时在课程辅导数据库的文件管理表中登记文件名称、上传日期、文件大小等信息,以便于师生进行文件管理。
3.3 学生可以把各类文件上传的服务器上.当学生认为某个文件已经不需要再修改时,则可以把这个文件提交为某个作业,请教师批阅。
4 结束语
本文给出的相关页面核心技术,相信对构建各种网络环境下的各种应用平台具有一定的参考意义。 基于网络技术的分布与协同,融入人工智能思想,研究完善校园网境下多媒体教学平台的完整、开放、先进、 经济的的综合解决方案是今后进一步加强校园网信息资源建设,推动网络教育迈上更高层次的重要任务。
[1]向海昀,蒲和平,刘彬.搭建Moodle 平台整合高校教学资源探析[J].现代商贸工业,2011(15).
[2]张小虎.关于现代网络教学的思考[J].中国农业银行武汉培训学院学报,2006(03).
[3]刘霞.网络教学的评价[J].中小企业管理与科技:下旬刊,2009(04).
[4]徐军.充分利用网络教学平台 提高学生自主学习能力[J].内蒙古财经学院学报:综合版,2009(03).
[5]王玉国.基于SOA 的印刷管理系统体系结构研究[J].中国市场,2008(48).
[6]陈晓纪,任永昌.基于Web Service 的企业资源管理平台的研究与应用[J].中国管理信息化,2008(10).
[7]李选潮.探析网络辅助教学的设计[J].大众商务,2010(16).
[8]张美俊,胡玉清.基于综合功能的网络教学平台设计与实现[J].科技创新导报,2010(36).
[9]郭燕萍.电子商务专业课程网络化教学模式探讨[J].电子商务,2010(03).
[10]戴艳红,陈宇.基于Web 的网络教学系统的研究[J].河北企业,2010(02).