期刊大全 杂志订阅 SCI期刊 SCI发表 期刊服务 文秘服务 出版社 登录/注册 购物车(0)

首页 > 精品范文 > asp技术论文

asp技术论文精品(七篇)

时间:2023-03-23 15:14:27

asp技术论文

asp技术论文篇(1)

现在的网络教育作为一种新兴的教育方式,网络教育具有诸多特性,如灵活性、主动性、创造性和互动性等。特备是网络教育网站的出现和应用,更是从根本上解决了在网络教育这种非面对面教学形式中学习者跟教师之间难以进行广泛交流的难题。所以,通过将网络技术和数据库技术的广泛结合,通过现在普遍采用的ASP技术来构建一个能够提供动态服务的教育网站,也就成了网络教育这种新型教育模式的必然选择。

 

2、目标和功能

网络教育网站的基本功能就是满足教学双方的根本需求,在能够为教师提供备课和课堂教学参考的同时,还能偶为学生的课程学习服务;应该能够为教师和学生提供非常便利的网上学习和讨论交流的学习环境;比外,还应该能够为教师和学生提供方便使用的资料查询和检索功能,便于教师和学生的日常使用。

所以,为了能够满足这些要求,就应该使教学网站具有如下几个主要的功能部分,即:

(1)、学习功能。教学网站的学习功能主要是针对学生设计的。学生通过该功能模块,可以对各种课程的电子教案进行在线学习,了解相关的学习方法、课时分配和教学计划等等跟课程相关的内容;还可以开设各种跟学习相关的论坛;具有即时和错时的交互式学习界面;能够通过对共同关心问题的深入讨论,引导学生参加在线的交流、评价和调查等,将网络构建成课程学习的另一个战场。

(2)、教学功能。网站的教学功能主要是针对广大的教师队伍而设置的,能够为教师提供结构化的系统平台,便于教师将各种跟课程教学相关的电子和声像资料上传到网站中,还应该便于教师进行动态的网上交流、和答疑,促进教师和学生之间的交流,对学校的教学和科研动态进行及时地了解和掌握。

(3)、资源整合跟查询功能。作为网站建设中的主要工作和功能模块,网络资源的整合和查询可以通过建设一个对本地站点进行搜索的引擎,对互联网上的运行环境进行模拟,提高上网查询资料和访问的效率,从而构建出比较完备的信息资料收集和查询系统,对网上的资源进行整合和查询,构建出简单实用的专题数据资料库。

3、教育网站建设

3.1 系统结构及平台

本文系统实现中,主要采用基于B/S的网络构建模型,也就是常用的浏览器/服务器模式。该网络构建模式可以将应用逻辑跟用户界面和数据的访问分割开来,便于提高系统的可维护性,此外,利用各种组件技术,可以有效降低数据库的访问压力,提高系统的运行性能。访问者可以通过本地浏览器对网络服务器进行登录访问,由于网络服务器和应用服务器都属于应用逻辑层,这样,网络服务器在接收表示层所提交的访问申请之后,就可以通过调用服务器中的相关模块,对具体的逻辑操作和运行进行执行,并数据库服务器提出及时的数据请求,得到结果之后,就可以将结果返回到网络服务器,最后,网络服务器就可以将结果数据提供给访问者。

3.2 技术方案

现在,可以用于网站开发的技术和手段主要有:基于HTML文件的开发技术、基于CGI的动态页面生成技术以及基于ASP的开发技术。下面对这几种技术体系进行简介和说明。

首先,就是基于HTML文件的网站开发。作为第一种通用的页面描述型的开发语言,HTML简单易学,且具有非常强大的超媒体支持能力,便于在超媒体的信息网中进行使用。通过HTML语言就行网站的开发,其特点为速度比较快,且不需要高水平的技术力量。不过,有优点肯定就有缺点,缺点是在使用过程中的网站维护工作量比较大,及时进行小范围的修改,也需要对整个网页进行操作。

其次,基于CGI的网站开发技术。传统的静态网站构建技术已经难以满足人们对网站的访问需求,所以,基于CGI技术的动态交互式网站就开始逐渐兴起和发展。这主要是由于采用CGI技术构建网站,可以大大提高网站的交互性能,便于用户和网站管理人员以及用户和用户之间的信息交流。不过,这种网站构建技术也存在明显的缺陷,就是这种开发技术跟操作系统的关系紧密,所以,使得利用该技术所构建的网站的可移植性能比较差。

第三,就是基于ASP技术的网站开发技术。作为一种新开发的网页开发技术,ASP技术是一种动态服务器网页,能够很方便的对数据库进行访问。现在的网页设计中,采用ASP进行功能实现的越来越多,可以利用ASP技术来创建动态的网络页面,或者功能强大的网络应用程序。此外,ASP技术可以通过ADO控件对象来实现对数据库的访问,ADO的特点为高效、简单和内存开销较小,更加适用于基于B/S的客户端模式或者其他基于网络应用的开发。

基于ASP技术的网站工作方式可以描述为:浏览器通过向网络服务器发送访问请求,激活ASP的脚本运行程序,之后,网络服务器就可以通过调用ASP来对请求的文件进行读取,并同时执行脚本的命令,最后将网络的页面传动给浏览器。此种模式下,网页的脚本运行主要通过服务器来完成,所以,从浏览器上所看到的网页是在网络服务器上生成后传送过来的,浏览器不用负责对脚本的处理。网络服务器能够实现所有的脚本处理,且能够将标准的HTML页面传送到浏览器。浏览器所接受的只是脚本运行的结果,并不对服务器端的脚本进行复制,所以难以得到支持其页面内容的脚本命令,这样,系统的访问和运行安全性就可以得到保障。在该方式中,用户可以通过目录来进行边界的定义,以以此作为应用程序的作用域,使得在每个网站站点都可以运行多个应用程序,且在服务器端并没有实际的页面存在和出现,任何网页都是根据用户的需求来动态的实时生成和运行的,在用户访问结束后就自动消除。

3.3 服务器与数据库的连接

现在,能够实现网络服务器和数据库服务器之间通信和数据交换的技术主要有:动态数据交换技术、SQL技术和ODBC技术等。

在这几种数据交换方式中,ODBC技术已经成为应用系统和驱动程序之间的标准数据交互接口。作为一种调用层的数据接口,ODBC并不需要要预编译程序,可以像调用函数一样来实现对ODBC的操作。对于不同的数据库管理系统来说,ODBC对其的访问和管理是半透明的,可以通过驱动程序的加载来实现逻辑结构到具体数据库管理系统的DBMS的映射。而应用程序对数据的访问和操作,则不需要通过任何DBMS来实现,由此就可以实现应用程序对不同DBMS的共享。所以,对于不同的应用系统来说,ODBC具有高度的可移植性和互用性,通过基于ODBC的标准开发,用户可以跟不同的数据库系统进行通信,此时的应用程序并不需要做任何改变。

asp技术论文篇(2)

【关键词】ADOasp;数据库

一般Web论坛都开设有涵盖不同领域的主题论坛,网友可以根据兴趣选择适合自己的论坛进行浏览和发言。本选题的目标就是使用脚本编程设计出一个功能相对完整的通用Web论坛。要实现这样的功能,离不开后台数据库的支持。 本文作者主要完成Web服务器端的用户管理、帖子管理、版面管理、数据库管理、浏览和查找功能等设计、实现与完善以及整个实验网站的组织建立和测试工作。

一、ASP简介

1.ASP技术

ASP即Active Server Page的缩写。它是一种包含了使用VB Script或Jscript脚本程序代码的网页。当浏览器浏览ASP网页时, Web服务器就会根据请求生成相应的HTML代码然后再返回给浏览器,这样浏览器端看到的就是动态生成的网页。

2.ASP页面的结构

ASP的程序代码简单、通用,文件名由.asp结尾,ASP文件通常由四部分构成:

(1)标准的HTML标记:所有的HTML标记均可使用。

(2)ASP语法命令:位于 标签内的ASP代码。

(3)服务器端的include语句:可用#include语句调入其它ASP代码,增强了编程的灵活性。

(4)脚本语言:ASP自带JScript和VBScript两种脚本语言,增加了ASP的编程功能,用户也可安装其它脚本语言,如Perl、Rexx等。

3.ASP运行所需的环境如下

目前ASP可运行在三种环境下:

(1)WINDOWS NT server 4.0运行IIS 3.0(Internet Information Server)以上。

(2)WINDOWS NT workstation 4.0运行Peer Web Server 3.0以上。

4.IIS与ASP的结合

利用IIS+ASP技术来集成Web前后端所带来的强大效益可归结为以下几个方面:①减少构建和维护成本;②加快联机过程;③应用软件集中在服务器端开发管理;④前端可使用任何浏览器(IE、Netscape…..);⑤后端可存取任何数据库 (SQL、Access…..);⑥可使用任何脚本语言开发 (VBScript、JavaScript、PERL…..)。

三、网络论坛系统详细设计与实现

1.网上论坛系统说明

此网上论坛可以实现:① 游客:查看帖子、学生、老师注册新用户。②注册用户: 查看帖子、发新帖子、回复信息、修改个人资料。③管理员(老师): 公告、帖子管理、论坛设置、版面管理、用户管理、数据库备份与恢复。

2.网上论坛系统总体分析

通过上面的功能说明,我们可以将论坛的制作分为两大部分:

(1)前台管理:主要是学生浏览、注册、发贴、修改个人资料等。

(2)后台管理:主要有论坛基本设置、用户管理、论坛管理、数据管理。

3.后台管理系统部分功能详细设计与实现

(1)论坛设置管理:论坛基本设置中主要是论坛基本信息的设置,如:学校论坛名称、论坛URL、主页名称、主页地址、是否开放用户注册、过滤设置。

(2)论坛管理:主要功能有建立论坛、编辑论坛。即增加论坛栏目、编辑以前建立的论坛。在网络中,难免有些同学会发一些不文明的用语,在此我们设计了过滤功能,一旦用户发一些不文明用语时,系统会自动隐藏该帖。从而行成一个良性循环的文明网络。

(3)数据管理设置:数据的备份:是先利用replace修改数据库名称,然后用copyfile 方法把修改后的数据库复制到相应的目录中去。

copyfile 功能描述:将一个或多个文件从某位置复制到另一位置。

使用语法: object.copyfile souce, destination [,overwrite]

object filesytemobject 对象名称,Souce 表示指定文件的字符串。

Destination表示目标位置的字符串. Overwrite可选,表示是否覆盖现有文件。

四、运行环境

硬件环境:WIN2003

数据库:Access2000

其他:服务器必须安装微软IE浏览器5.5

推荐:Windows 2003+IIS6.0+Access2000+IE5.5环境测试

asp技术论文篇(3)

关键词:ASP;程序设计;教学模式

中图分类号:G642文献标识码:A文章编号:1009-3044(2011)16-3979-02

Discussion on Teaching Model of ASP Programming

LU Shou-dong

(Department of Computer and Information Management, Guangxi University of Finance and Economics, Nanning 530003, China)

Abstract: Based on the analysis of the present teaching situation of ASP programming curriculum, discuss the teaching mode in every aspect such as theoretical teaching, experimental teaching and examination scheme according to the teaching practice.

Key words: ASP; programming; teaching model

随着因特网的快速发展,Web应用日益广泛,基于B/S架构的Web应用程序的开发已在IT行业中占据着重要地位,并成为一个重要的就业方向。为满足社会的需求,并提高学生的专业技能与就业能力,大多数院校的计算机、网络及相关专业均先后开设了ASP程序设计等课程。在此,将结合具体的教学实践,探讨ASP程序设计课程的教学模式。

1 教学现状

ASP程序设计一般作为专业主干课或选修课开设,其教学目标是使学生了解Web应用程序的工作原理,掌握基于ASP的Web应用程序开发技术,从而为日后的工作(特别是动态网站的设计与开)发奠定良好的基础。

与一般的程序设计语言类课程不同,ASP程序设计是一门综合性、实践性与应用性极强的系统开发类课程,既涉及到HTML、DB、VBScript等诸多内容,又必须掌握各种ASP内置对象、内置组件与外部组件(即第三方组件)的应用技术。由于课程内容较多,但课时相对偏少,因此教学难度颇大。

目前,ASP程序设计的教学普遍存在重理论轻实践、重讲解轻工程、重个人开发轻团队协作等弊端,所采用的教学模式多为传统的“教师讲、学生听”,实验方面往往仅局限于教师指导下的简单练习,考试方式则为缺乏针对性的闭卷笔试。这种“说教”式的教学方式必然会导致学生的被动学习,是很难激发学生的学习兴趣与主动性的。再加上实验环节的不足、考核方式的不合理,学生无法得到足够的、系统的编程训练,为应付考试往往只是注重理论知识的掌握而忽略动手实践能力的培养,最终无法有效提高编程能力与就业竞争力。

2 教学模式

要改善ASP程序设计的教学效果,有效提升学生的编程能力,使其真正做到学以致用,就必须探索并采用全新的教学模式。

2.1 理论教学

2.1.1 以需求组织教学

教学内容的组织是否合理,势必影响到教学的进程与效果。对于大多数教材来说,其内容的编排往往并不适合实际的教学需要,因此必须结合教学目标与具体情况,进行相应的调整与取舍,合理确定教学内容。考虑到B/S模式的数据库应用系统开发的技术需求,按照循序渐进、由基础至综合的原则,可将ASP程序设计的教学内容分为ASP概述、网页设计基础、VBScript基础、ASP内置对象、数据库编程基础、ADO数据访问接口、ASP内置组件、ASP外部组件与ASP应用实例等专题,以保证在有限的学时内,让学生逐步掌握利用ASP开发Web应用系统的主要技术。

2.1.2 以案例引领教学

为避免学生感到枯燥乏味、抽象难懂,让其能抓住重点并顺利将所学技术应用到实际问题的解决当中,在整个课程的教学过程中,以案例教学法为主,依托具体案例展开教学。同时,综合运用启发式、探索式的教学方法,注意设问与引导,以活跃学生的思维,提高其发现问题、分析问题与解决问题的能力。

1) 精选案例。案例是案例教学的基础,必须精心设计、认真选择,一般应遵循以下原则:①针对性。所选案例必须符合教学目标,能使学生从中获得知识,提高技能。②代表性。所选案例应是与核心内容或关键技术密切相关的典型案例,以便于学生加深理解、掌握方法。③实用性。所选案例应贴近实际,或有现实需求,以利于激发学生的兴趣与学习积极性。④适度性。所选案例不宜过于复杂,其难度与规模要适中,以便于分析与理解。⑤拓展性。所选案例不宜过于完善,以利于引发问题,再由学生设法解决,从中培养探索精神与创新能力。基于以上原则,可将目前常见的网上书店、在线考试系统等作为整个课程的教学案例。

2) 演示案例。在首次上课时,先完整地演示相应的案例(在机房上课时还可让学生亲自操作进行实时体验),然后告诉学生这些系统都是使用ASP开发的,通过学家也能开发出类似的系统,从而有效地激发学生的兴趣与求知欲。在后续的教学过程中,则应结合具体的教学内容,重点演示案例中的有关功能,让学生直观地了解具体的应用场景,以利于随后的深入分析。

3) 分析案例。分析案例是案例教学的核心环节,直接影响到教学的效果与质量。在演示案例有关功能的基础上,先引出其中所采用的新技术,以明确当前教学目标与内容。结合典型实例介绍相关内容与技术后,再具体分析案例中的实现方法与技术细节,让学生能理论联系实际,明确所学技术的应用方式。最后,通过讨论找出案例中所存在的问题或不足之处,由学生自行修改完善,以提高其分析问题与解决问题的能力。

2.1.3 以自学促进教学

ASP程序设计在各专业的培养方案中一般属于后期课程,通过有关先修课程的学习,学生已具备一定编程经验与技术基础。因此,在教学中应以精讲多练为原则,进一步提高学生的自学能力。对于网页设计基础与数据库编程基础这两个专题,若此前确已开设过相应的课程,则只需安排一次课的时间由学生自行练习即可,但要注意加强对HTML标记与SQL语句的理解与掌握。为便于学生的学习,可向学生提供一些必备的参考或帮助手册(最好是chm格式的),如HTML中文参考手册、SQL中文参考手册、VBScript中文参考手册、ADO中文参考手册、ASP中文帮助手册等。另外,可适当向学生提供一些系统源码与技术文章,让学生利用课外时间进行分析。此外,为弥补教材的不足,要积极倡导学生通过各种方式进行自主学习。一方面,鼓励学生去图书馆借阅ASP编程方面的书籍或查看ASP技术方面的文章,认真分析开发案例,积极学习经验技巧。另一方面,鼓励学生充分利用网络进行学习。目前网上ASP方面的资源是相当丰富的,也有许多优秀的教程、网站与论坛,若能善加利用,必定大有所获。

2.2 实验教学

“纸上得来终觉浅,绝知此事要躬行。”要想成为编程高手,纸上谈兵绝对是不行的。只有亲自动手编写并调试大量的程序,才能真正掌握编程技术,切实提高编程水平。因此,在教学过程中,要坚持理论教学与实验教学并重的原则,在做好理论教学的同时,从课程实验、课程设计等方面加强实验教学,确保学生得到全面的编程训练,从而有效提高动手实践能力。

2.2.1 以任务驱动课程实验

课程实验即课程的同步实验,在教学过程中与课堂讲授交替进行,其目的是让学生尽快理解并掌握当前所学的新知识与新技术。作为一种基础性的编程练习,课程实验宜采用任务驱动法实施,由学生通过完成这实验任务可逐步掌握ASP的主要编程技术。

1) 设计任务。任务的设计由教师负责,一项任务即为一个实验,且以设计性、综合性实验为主。对于每个实验,均要明确其具体目的、要求与内容,并避免给出过于详细的实验步骤与程序代码。这样,才有助于学生的探索与思考,并在完成任务的过程中培养能力。结合具体的教学内容,通常可依次安排ASP运行环境的配置、HTML页面的设计、VBScript脚本的编写、ASP内置对象的使用、SQL语句的使用、ADO对象的使用、ASP内置组件的使用、ASP外部组件的使用、ASP简单系统的设计等实验。

2) 布置任务。在相应内容的理论课结束之时,教师即可下达实验任务。

3) 分析任务。在实验课前,要求学生认真分析实验任务,明确其中的技术需求,并做好充分的准备工作。

4) 完成任务。在实验课中,要求学生认真完成实验任务。为确保效果,在实验过程中,要鼓励学生在遇到问题时先设法自行解决,再与同学共同探讨,或向老师请教。对于学生的提问,教师不要直接告知其答案,而应通过启发引导学生自己分析并解决问题。对于共性的问题或注意事项,可适时暂停实验,由教师统一进行说明或讲解。每个实验结束后,要求学生按规范撰写实验报告,并按时提交。

5) 评价任务。教师根据学生的实验报告并结合实验的完成情况评定成绩,同时在适当的时候对实验进行讲评。

2.2.2 以项目驱动课程设计

课程设计其实是一项大作业,要求学生综合运用所学知识与技术,利用课外时间,开发一个完整的数据库应用系统,从中体验系统的开发过程,培养工程实践能力以及发现问题、分析问题与解决问题的能力,进一步提高编程技术与水平。作为一种综合训练,课程设计宜采用项目驱动法实施,由学生以开发小组的形式,共同完成一个应用系统的开发,以培养学生的团队精神、协作能力与创新意识。

1) 启动项目。在授课内容过半或结束前2~3周,由教师布置课程设计任务,并明确其基本要求。同时,让学生自由组合,成立开发小组(3~5人一组),并选出小组长。然后,让各小组确定自己的开发项目。开发项目一般由教师提供,也允许学生自定(但需由教师把关),其规模与难度要适中,以确保学生通过努力能按时完成。另外,在选题上应尽量贴近现实,有一定的实用价值,以提高学生的积极性与成就感。

2) 完成项目。在正常进行教学的同时,各开发小组利用课外时间协作完成项目的开发工作。在此过程中,由小组长负责人员的分工、任务的分配、进度的安排等事宜,并定期向教师汇报情况。同时,教师也要适度地对各小组进行指导,检查项目的完成情况。

3) 验收项目。项目开发完成后,要求学生提交所开发的系统以及系统的设计说明书与个人的设计报告。此外,还要对项目进行验收答辩(一般可安排在最后一次课进行),由学生演示自己的系统,并回答教师的提问。最后,由教师综合各方面的情况,评定每个学生的课程设计成绩。

2.3 考核方案

考核方案事关教学效果的检验,对于学生的学习也有一定的导向作用,因此要合理确定。

1)平时成绩评定。平时成绩=基本分+加分-扣分。其中,基本分统一定为60分。对于课程实验与课程设计,均按其成绩等级转换为相应的加分分值,未做者则不给分或进行扣分。对于迟到、旷课、早退或其他上课违纪情况,同样按标准转换为相应的扣分分值。这样,通过引入奖罚机制综合评定平时成绩,可有效激发学生的学习积极性,并培养其团队合作精神。

2)期末考试方式。采用开卷笔试或机试的方式,并以设计题为主,让学生按要求编写相应的程序。这样,除了可以达到重点考核学生编程能力的目的以外,也可促使学生在平时的学习过程中注重对所学知识的理解、掌握与运用,逐步改掉死记硬背的、不求甚解的坏毛病。

3)期评成绩评定。适当调整平时成绩与期考成绩在期评成绩中的比例,以3:7或4:6为宜。

3 结束语

ASP程序设计的教学改革并非一蹴而就之事,只有通过不断的探索与尝试,才能取得更好的教学效果。教学实践表明,采用全新的教学模式,以培养学生实际编程能力为目的,根据技术需求组织教学内容,依托典型案例开展教学活动,通过自主学习促进教学进程,同时以任务驱动课程实验,以项目驱动课程设计,课内课外相互配合,切实加强实验环节,是可以有效提高学生的编程能力与水平的。

参考文献:

[1] 孙建平.论案例任务驱动教学法在ASP教学中的应用[J].山西广播电视大学学报,2010(4).

asp技术论文篇(4)

ASP及SQLServer技术简介

ASP是Active Sever Pages(动态服务器页面)的简称,是微软提供的一个服务器端脚本环境,由IIS(Internet 信息服器)提供服务,整合HTML网页、ASP指令和ActiveX控件等建立动态、交互且高效的Web服务器应用程序。ASP程序均以扩展名为.asp的纯文本形式存在于Web服务器上,可以用任何文本编辑器打开。将程序置于Web服务器的网站目录(或虚拟目录)下(该目录必须要有可执行权限),就可以通过网页浏览器访问ASP程序了。

SQL(Structured Query Language)Server是一个关系数据库管理系统。常见的是微软公司Windows NT系统中的SQL Server系列产品,数据库引擎是SQL Server系统的核心服务,负责完成数据的存储、处理和安全管理。

基于ASP+SQLServe的网络课件开发

1.简单登录过程的实现

课件的登录分为两种情况,学生使用时需输入姓名并选择所在小组;教师登录时不仅需要输入姓名,还要输入密码,此密码用于区别学生和教师角色,以便使网络课件按角色导入不同的网页和功能。此时需用到HTML表单的有关标识语句,提交表单信息后ASP程序会在服务端把姓名、组名及登录时的IP地址及时间整理后存放于SQL Server数据库中,再通过数据库中预设的密码与输入密码的比对,确定教师页面的输出。教师页面包含不同于学生端的特殊功能,以明确教师在教学过程中处于主导地位。

2.定向导航的实现

用户登录后,ASP程序将生成不同的页面。在教学环节中,学生自由点击链接浏览感兴趣的教学信息,凸显了网络课件自主性及学生学习的主动性特点;而在小学课堂教学中,教师随时掌控学生端呈现的页面信息,使课堂有“张”有“弛”、“收放自如”显得尤为迫切和必需,于是如何控制学生端页面的显示成为网络课件第一棘手问题。因此,首先应确立一个Application(“urlstr”)变量,此变量需存储要在学生端显示的网页文件名,由教师端ASP程序提供菜单并发出指令,通过Microsoft.XMLHTTP的调用,把指令中包含的页面文件名存储于此变量,而在客户端的脚本中设计定时程序,随时获取此变量中的值,如果变量不为空时就使页面导向到此变量值的网页。如此,学生自由浏览时,教师只需把此变量值置为空;而需要掌控时,教师通过ASP程序把特定页面文件名赋值给此变量,ASP程序就能根据变量的值自动引导学生端显示指定的页面内容,从而实现定向导航。

3.实时交互反馈的实现

人机和人际的相互交流和交互作用,既加强了师生间的交流,又极大地提高了学生的学习兴趣和积极性。

(1)填空类的交互

例如,在小学五年级语文综合练习的网络课件中有一个片段是出示四幅的图片,学生根据的特点结合学习的古诗词为起一个富有诗情画意的名字,学生在图片下方输入的名字后提交,随后就会看到包括教师、其他同学的全部作业。教师端会实时统计提交的人数,以便教师掌握学生的学习动态。这种以文字形式提交并提供实时交互反馈的技术在ASP中比较容易实现,只需设计表单,提交文字后在服务端把文字存入数据库,然后在服务端取出数据库生成页面送到客户浏览器即可。

(2)选择判断类的交互

不论单选还是多选,ASP程序设计均用表单形式呈现给学生,学生做出选择后提交作业,实际是先在学生端的计算机中判断答案的正误,在学生端页面及时呈现评价并显示正确答案,而提交到服务端保存于数据库中的内容仅仅是错误的题号而已,这样做使ASP服务端压力很小,大部分的运算分散在学生计算机上。教师端可以根据数据库存储的内容,掌握学生真实的学习状况,并对学生出错较多的题目进行重点讲解。

(3)类似游戏热区范围的交互

例如,在语文《春联》网络课件中,出现了六对摆放错乱的上下联,需要学生用鼠标拖动法来重新排列出正确的上下联,完成练习后,网络课件会及时打分评价。在开发类似的网络课件时,开发者需要考虑减轻服务端的压力、客户端分散大量运算和比对等,最后提交的只是每个对联的坐标位置和学生的得分情况。

(4)图形、图像类交互

例如,在美术课《石头中的生命》网络课件中,需要学生在网页中根据要求在各种石头的图像上进行一系列的实时绘图,最后将这些图形或图像传输到服务端并存入数据库,随后ASP程序以学生姓名列表形式展示,教师和学生可点击某个学生姓名打开相应的作品进行浏览,也可以针对作品发表评论。教师可掌控页面内容以便课堂中所有学生观察同一幅作品。此类网络课件的实现需要用到一些特殊元素和脚本,如微软的VML(Vector Markup Language)矢量图形绘制元素。服务端需把作品的网页绘图源码保存到数据库中,ASP服务端在需要时随时取出数据输出这些源码实现重绘图形(即还原学生作品),而这些都可以设计开发成一个模块供不同的课件调用。

(5)实时文字交互及控制

通俗的说法就是文字聊天,虽然网上介绍了许多实现方法,甚至提供ASP源码下载,但实用性和稳定性均不理想。利用ASP和XML技术在服务端存储文字的方式可设计一个无刷新的文字交流程序,而且教师可控制这些交流,如为优秀的发言送上鲜花和掌声,屏蔽不良言论等。此交互可制作成通用模块,以供随时调用。

(6)文件操作的交互

在小学信息技术课中有几十课时用于讲解Office的应用技巧,在这些相关的网络教学课件中,只需要把Office文件置于Web服务器,在网页中调用Office文档控件,就可以在网页中实时编辑和操作这些文件,提供给学生的操作界面和操作方法都与在Office软件中相同,但学生完成这些作业后可以通过ASP程序提交并把这些文件以二进制形式存放于SQL Server数据库中。提交结束后,ASP程序取出存放于SQL Server数据库的内容呈现学生作品,学生可以相互浏览作品,相互学习,结合文字交流工具相互探讨操作方法和步聚,并可投票产生优秀作品及发表评论。教师也可参与其中,随时通过页面定向导航统一查看某个学生的作品来实施点评和指导。

4.成绩统计实时机制的实现

asp技术论文篇(5)

关键词:学位论文检索;ASP技术;SQL Server;B/S模式

中图分类号:TP392:J642.477文献标识码:A 文章编号:1009-3044(2007)17-31327-02

Design and Implementation of Thesis Searching System Based on B/S structure

LIU Qun-Yan,ZHANG Da-Wei

(Library Xi'an Polytechnic University ,Xi'an 710048,China)

Abstract:Based on the B/S structure, a thesis searching system is designed and developed for academic thesis searching by the ASP technique and SQL database. The system can run very stably, has complete functions and satisfies all requirements of thesis search excellently, which provides a good platform for sufficient using of academic thesis.

Key words:thesis search; ASP technology; SQL SERVER; B/S structure

1 前言

学位论文是高等院校或科研机构的学生为获得某一级别的学位而向学校或其它学术单位提交的学术研究论文,是围绕某一学科的重点或前沿课题进行的创造性研究和探讨并加以总结的产物,所以它是具有较高学术价值的科技文献。但很多高校多年来的博士和硕士论文因查询不便而不能为教学和科研充分利用,所以建立基于网络的、不受时间和空间约束的论文检索系统已成为提高高校学位论文利用率的关键。而购买商业公司开发的检索系统虽然其功能齐全、性能稳定,但不仅代价昂贵,而且其过于广泛,不适合某一高校的学科特点和该校图书馆的具体情况。所以开发高校学位论文检索系统非常必要,而且具有实际应用意义。本文讨论了该系统的开发过程和核心难点技术。

2 系统技术分析及开发环境

本系统采用三层B/S体系结构为其基本框架,运用当前应用广泛的动态web技术ASP实现其与数据库的强大操作和远程客户端的交流。下面对这些技术和开发环境进行分析介绍。

2.1 B/S结构

B/S(Browser/Server)结构即浏览器/服务器结构,是把web 技术和数据库技术结合起来的技术,其实现了开发环境和应用环境的分离,即用户端利用相对统一的浏览器( IE、Netscape 等) 代替客户端软件,实现跨平台的应用服务,B/S通常采用三层分布式体系结构,如图1所示。

图1 B/S结构

三层B/S结构的工作方式主要是用户通过浏览器表单形式把客户请求以HTTP 协议方式发送到web服务器,web服务器向数据库服务器发送数据请求,数据库服务器经过数据处理后将符合条件的数据返回到web服务器,web服务器把结果翻译成HTML模式或各类Script 格式, 返回浏览器供用户阅读。

本系统采用三层B/S体系结构,用户只要能连接到Internet网络,就能很方便的在任何时间任何地点查询学位论文。

2.2 ASP技术

ASP(Active Server Page) 是Microsoft 提出的基于服务器端的脚本执行环境,通过在普通HTML页面中嵌入的ASP脚本语言(VBScript 、Jscript),就可以建立和执行动态的、交互的、高性能的Web应用程序。由于ASP脚本是在服务器端解释执行的,所以用其设计的程序独立于客户端浏览器且保密性较高;ASP采用ADO技术访问数据库,ADO是一组优化的访问数据库专用对象集,提供了完整的站点数据库访问方案,使ASP访问数据库十分方便。基于以上原因,本系统采用ASP技术来实现其功能。

2.3 系统开发平台和环境

本系统服务器端采用高性能、高可靠性和高安全性的Microsoft Windows 2003 Server为其操作系统,并配置IIS6.0;选取可扩充的、高效的关系型数据库管理系统SQL SERVER 2000为后台数据库;采用专业网站开发编辑器Macromedia Dreamweaver MX 2004为系统开发工具;开发语言为HTML和VBScript;客户端只需要安装 IE4.0 或Netscape3.0 以上版本的浏览器即可使用本系统。

3 系统的总体结构设计

在开发此系统之前,作者做了大量的需求分析,充分了解掌握了系统所必需具有的功能,并考虑了人机功效方面的问题进行系统设计。下面对该系统的功能模块、web页面、数据库作总体的设计。

3.1 功能模块分析与设计

根据用户对论文检索精度要求的不同,该系统主要分为两大模块,(1)基本检索模块,(2)高级检索模块,如图2所示。

图2 系统工作流程图

基本检索模块:主要适用于对检索精确度要求不高、对论文库按某一条件字段进行简单分类检索的用户。该模块的功能要求主要有:用户选择某一检索项并输入检索词,就可检索到符合该条件的所有记录,并将检索结果分页显示;可以浏览某一纪录的详细内容,包括摘要。

高级检索模块:该模块适用于对检索结果要求精确、多条件查询的用户。该模块的功能要求主要有:可以实现多个条件的与、或、非复杂查询;将检索结果分页显示;可浏览某一纪录的详细信息,包括摘要。

根据学位论文的特点和用户的检索需求,其检索选择项分为七类:论文题名、论文作者、论文导师、关键词、学科专业,中文摘要、分类号。

3.2 Web页面设计

根据该系统的模块及功能,实现该系统需要4个页面。检索首页index.asp,该页面采用HTML表单的形式收集用户输入的检索词及检索选择项条件;基本检索Bsearch.asp,该页实现基本检索的功能页面,并将查询结果分页显示;高级检索Hsearch.asp,该页实现高级检索多选项、多条件的与、或、非查询功能,并将查询结果分页显示;记录详细显示Show.asp, 该页实现浏览某一纪录的详细信息,本校用户可查看全文。其页面间的关系如图3所示。

图3 页面关系图

3.3 后台数据库设计

本系统采用SQL SEVER 2000来创建后台数据库。为了提高数据库服务器的响应速度并确保数据安全,本系统采用文件实体和文件参数分别存放的方法,即在数据库中只保存论文的文件名、存放路径、文件格式和大小,而在WEB服务器指定目录存放学位论文全文。根据学位论文的构成特点和用户的查询需求,创建的数据库表的字段如下:姓名、学号、专业、培养单位、论文题名、分类号、学位级别、导师姓名、导师单位、提交日期、关键词、论文页数、中文摘要、英文摘要、全文文件名,全文路径、全文大小、全文格式。

4 系统功能实现及核心技术

在本系统的开发过程中,主要解决了三个核心技术问题。ASP与WEB数据库的连接、多条件的与、或、非复杂查询问题和查询结果分页显示问题。下面来阐述这些问题的解决方法。

4.1 ASP与WEB数据库的连接

ASP与数据库的连接一般有三种方法:(1)通过ODBC DSN建立连接,(2)通过OLE DB建立连接,(3)通过Driver建立连接,本系统选用通过Driver建立连接的方法,使用该方法,程序的可移植性比较好。系统建立连接的过程如下:(1)建立数据库连接对象:set conn = server.createobject ("adodb. connection ");(2)打开要访问的数据库:conn.open"Driver;Server=;Database=;Uid=;Pwd= "(3)建立记录集对象:set rs= server. createobject("ADODB.recordset");(4)打开记录集对象:rs. open strsql,conn,"3","1";(5)利用记录集对象所提供的属性对Web 数据库实施操作;(6)关闭记录集对象:rs.close;(7)关闭数据连接对象:conn.close;

4.2 检索功能实现

本系统两大检索模块中,基本检索模块中的SQL查询比较简单,在这里不予熬述。重点来阐述高级检索模块中的动态多选项、多条件的与、或、非查询,这是开发本系统的核心技术和难点之一。本文采用VBScript中的select case语句来识别用户的动态检索项,用IF语句来控制多条件的查询,专门设置变量strhigh2接受用户所选取的与、或、非条件。SQL查询语句用变量strsql来保存,而最初的查询语句是:strsql= "select * from table1 where 1=1 ",后面依据条件对查询语句进行叠加,如:strsql=strsql& "select * from table1 where name = "liuyan" ",直到条件判断完毕,最后形成SQL查询语句,并保存在strsql变量中,执行rs.open strsql,conn,"3","1"语句。系统查询功能实现。

为了提高系统的简单易用性和查询结果的命中精度,本系统支持作者姓名、导师姓名字段的精确查询,而对字段论文题名、关键词、论文摘要、提交年份、学科专业、分类号实施模糊查询,如:用SQL语句seletc * from table1 where name like %"& yan & "%实现模糊查询。

4.3 查询结果分页显示

在显示查询结果时,如果所有检索的命中记录在一页显示,将不方便用户浏览,所以系统要求将查询结果分页显示。而实现查询结果分页显示关键要解决两方面的问题:(1)循环显示本页记录,(2)翻页控制。

循环显示本页记录:即当前页记录的显示问题。本系统采用双重嵌套的Do WhileLoop语句来控制当前页记录的显示,用 rs.("字段名")显示记录字段;采用ADO中数据集RecordSet对象的一些属性来进行参数设置:用PageSize属性设置每页显示的记录数;用PageCount 、RecordCount属性分别显示检索命中的总记录数和页数;用AbsolutePage属性表示当前页码;用MoveNext方法来移动记录指针;并用到了BOF 属性和EOF 属性。通过运用以上的语句控制与属性设置,实现了当前页记录的显示。

(2)翻页控制:系统要求将查询结果分多页显示,而在进行翻页时,涉及到对页面bsearch.asp或hsearch.asp(实现检索和分页显示的功能页)的自身连接,也就是web服务器端要重新执行该页面程序,重新接收用户输入的检索词和重新执行SQL查询语句,并且要求正确显示目标页记录。所以,在系统进行翻页时,要对两类参数进行传递,分别是用户输入的检索词、检索项和当前页数。本系统采用表单的隐藏域来对这两类参数进行传递,选取Request.form("")来接收用户从表单输入的检索词和检索项,而采用Request.querystring("")来接收翻页时由表单隐藏域传递的检索词、检索项参数和当前页数参数,并用IF语句来判断使用前者还是后者;翻页的自身连接采用URL方式传递目标页数。参数传递正确,系统成功实现翻页功能。

5 结束语

采用web技术、数据库技术、ASP技术实现了基于B/S结构的高校学位论文检索系统。在此系统开发过程中,重点研究解决了动态多选项、多条件的与、或、非复杂查询问题,以及检索结果分页显示的问题。经过测试,本系统性能稳定、界面友好、易于使用,现已应用于西安工程大学图书馆,解决了高校学位论文的检索难题,使得博士、硕士论文能够被科研和教学充分利用,提高了学问论文的利用率,这也是开发本系统的真正意义所在,作者感到欣慰!

参考文献:

[1]陈健伟,李美军,施建强,等. ASP动态网站开发教程[M].北京:清华大学出版社,2005.188-206.

[2]张固,汪晓平.ASP网络应用系统典型模块开发实例解析[M].北京:人民邮电出版社,2005.53-95.

[3]龙马工作室.ASP+SQL Server组建动态网站实例精讲[M]. 北京:人民邮电出版社,2005.73-96.

[4]王昱. 基于ASP技术的Web数据库记录的分页显示[J]. 华北科技学院学报,2003:75-77.

asp技术论文篇(6)

论文摘要:网络上的动态网站以ASP为多数,我们学校的网站也是ASP的。笔者作为学校网站的制作和维护人员,与ASP攻击的各种现象斗争了多次,也对网站进行了一次次的修补,根据工作经验,就ASP网站设计常见安全漏洞及其防范进行一些探讨。本文结合ASP动态网站开发经验,对ASP程序设计存在的信息安全隐患进行分析,讨论了ASP程序常见的安全漏洞,从程序设计角度对WEB信息安全及防范提供了参考。

1网络安全总体状况分析

2007年1月至6月期间,半年时间内,CNCERT/CC接收的网络仿冒事件和网页恶意代码事件,已分别超出去年全年总数的14.6%和12.5%。

从CNCERT/CC掌握的半年情况来看,攻击者的攻击目标明确,针对不同网站和用户采用不同的攻击手段,且攻击行为趋利化特点表现明显。对政府类和安全管理相关类网站主要采用篡改网页的攻击形式,也不排除放置恶意代码的可能。对中小企业,尤其是以网络为核心业务的企业,采用有组织的分布式拒绝服务攻击(DDoS)等手段进行勒索,影响企业正常业务的开展。对于个人用户,攻击者更多的是通过用户身份窃取等手段,偷取该用户游戏账号、银行账号、密码等,窃取用户的私有财产。

2用IIS+ASP建网站的安全性分析

微软推出的IIS+ASP的解决方案作为一种典型的服务器端网页设计技术,被广泛应用在网上银行、电子商务、网上调查、网上查询、BBS、搜索引擎等各种互联网应用中。但是,该解决方案在为我们带来便捷的同时,也带来了严峻的安全问题。本文从ASP程序设计角度对WEB信息安全及防范进行分析讨论。

3SP安全漏洞和防范

3.1程序设计与脚本信息泄漏隐患

bak文件。攻击原理:在有些编辑ASP程序的工具中,当创建或者修改一个ASP文件时,编辑器自动创建一个备份文件,如果你没有删除这个bak文件,攻击者可以直接下载,这样源程序就会被下载。

防范技巧:上传程序之前要仔细检查,删除不必要的文档。对以BAK为后缀的文件要特别小心。

inc文件泄露问题。攻击原理:当存在ASP的主页正在制作且没有进行最后调试完成以前,可以被某些搜索引擎机动追加为搜索对象。如果这时候有人利用搜索引擎对这些网页进行查找,会得到有关文件的定位,并能在浏览器中查看到数据库地点和结构的细节,并以此揭示完整的源代码。

防范技巧:程序员应该在网页前对它进行彻底的调试。首先对.inc文件内容进行加密,其次也可以使用.asp文件代替.inc文件,使用户无法从浏览器直接观看文件的源代码。

3.2对ASP页面进行加密。为有效地防止ASP源代码泄露,可以对ASP页面进行加密。我们曾采用两种方法对ASP页面进行加密。一是使用组件技术将编程逻辑封装入DLL之中;二是使用微软的ScriptEncoder对ASP页面进行加密。3.3程序设计与验证不全漏洞

验证码。普遍的客户端交互如留言本、会员注册等仅是按照要求输入内容,但网上有很多攻击软件,如注册机,可以通过浏览WEB,扫描表单,然后在系统上频繁注册,频繁发送不良信息,造成不良的影响,或者通过软件不断的尝试,盗取你的密码。而我们使用通过使用验证码技术,使客户端输入的信息都必须经过验证,从而可以解决这个问题。

登陆验证。对于很多网页,特别是网站后台管理部分,是要求有相应权限的用户才能进入操作的。但是,如果这些页面没有对用户身份进行验证,黑客就可以直接在地址栏输入收集到的相应的URL路径,避开用户登录验证页面,从而获得合法用户的权限。所以,登陆验证是非常必要的。

SQL注入。SQL注入是从正常的WWW端口访问,而且表面看起来跟一般的Web页面访问没什么区别,所以目前市面的防火墙都不会对SQL注入发出警报,如果管理员没查看IIS日志的习惯,可能被入侵很长时间都不会发觉。

SQL注入攻击是最为常见的程序漏洞攻击方式,引起攻击的根本原因就是盲目信任用户,将用户输入用来直接构造SQL语句或存储过程的参数。以下列出三种攻击的形式:

A.用户登录:假设登录页面有两个文本框,分别用来供用户输入帐号和密码,利用执行SQL语句来判断用户是否为合法用户。试想,如果黑客在密码文本框中输入''''OR0=0,即不管前面输入的用户帐号和密码是什么,OR后面的0=0总是成立的,最后结果就是该黑客成为了合法的用户。

B.用户输入:假设网页中有个搜索功能,只要用户输入搜索关键字,系统就列出符合条件的所有记录,可是,如果黑客在关键字文本框中输入''''GODROPTABLE用户表,后果是用户表被彻底删除。

C.参数传递:假设我们有个网页链接地址是HTTP://……asp?id=22,然后ASP在页面中利用Request.QueryString[''''id'''']取得该id值,构成某SQL语句,这种情况很常见。可是,如果黑客将地址变为HTTP://……asp?id=22anduser=0,结果会怎样?如果程序员有没有对系统的出错提示进行屏蔽处理的话,黑客就获得了数据库的用户名,这为他们的进一步攻击提供了很好的条件。

解决方法:以上几个例子只是为了起到抛砖引玉的作用,其实,黑客利用“猜测+精通的sql语言+反复尝试”的方式,可以构造出各种各样的sql入侵。作为程序员,如何来防御或者降低受攻击的几率呢?作者在实际中是按以下方法做的:

第一:在用户输入页面加以友好备注,告知用户只能输入哪些字符;

第二:在客户端利用ASP自带的校验控件和正则表达式对用户输入进行校验,发现非法字符,提示用户且终止程序进行;

第三:为了防止黑客避开客户端校验直接进入后台,在后台程序中利用一个公用函数再次对用户输入进行检查,一旦发现可疑输入,立即终止程序,但不进行提示,同时,将黑客IP、动作、日期等信息保存到日志数据表中以备核查。

第四:对于参数的情况,页面利用QueryString或者Quest取得参数后,要对每个参数进行判断处理,发现异常字符,要利用replace函数将异常字符过滤掉,然后再做下一步操作。

第五:只给出一种错误提示信息,服务器都只提示HTTP500错误。

第六:在IIS中为每个网站设置好执行权限。千万别给静态网站以“脚本和可执行”权限。一般情况下给个“纯脚本”权限就够了,对于那些通过网站后台管理中心上传的文件存放的目录,就更吝啬一点吧,执行权限设为“无”好了。

第七:数据库用户的权限配置。对于MS_SQL,如果PUBLIC权限足够使用的绝不给再高的权限,千万不要SA级别的权限随随便便地给。

3.4传漏洞

诸如论坛,同学录等网站系统都提供了文件上传功能,但在网页设计时如果缺少对用户提交参数的过滤,将使得攻击者可以上传网页木马等恶意文件,导致攻击事件的发生。

防文件上传漏洞

在文件上传之前,加入文件类型判断模块,进行过滤,防止ASP、ASA、CER等类型的文件上传。

暴库。暴库,就是通过一些技术手段或者程序漏洞得到数据库的地址,并将数据非法下载到本地。

数据库可能被下载。在IIS+ASP网站中,如果有人通过各种方法获得或者猜到数据库的存储路径和文件名,则该数据库就可以被下载到本地。

数据库可能被解密

由于Access数据库的加密机制比较简单,即使设置了密码,解密也很容易。因此,只要数据库被下载,其信息就没有任何安全性可言了。

防止数据库被下载。由于Access数据库加密机制过于简单,有效地防止数据库被下载,就成了提高ASP+Access解决方案安全性的重中之重。以下两种方法简单、有效。

非常规命名法。为Access数据库文件起一个复杂的非常规名字,并把它放在几个目录下。

使用ODBC数据源。在ASP程序设计中,如果有条件,应尽量使用ODBC数据源,不要把数据库名写在程序中,否则,数据库名将随ASP源代码的失密而一同失密。

使用密码加密。经过MD5加密,再结合生成图片验证码技术,暴力破解的难度会大大增强。

使用数据备份。当网站被黑客攻击或者其它原因丢失了数据,可以将备份的数据恢复到原始的数据,保证了网站在一些人为的、自然的不可避免的条件下的相对安全性。

3.5SP木马

由于ASP它本身是服务器提供的一项服务功能,所以这种ASP脚本的木马后门,不会被杀毒软件查杀。被黑客们称为“永远不会被查杀的后门”。我在这里讲讲如何有效的发现web空间中的asp木马并清除。

技巧1:杀毒软件查杀

一些非常有名的asp木马已经被杀毒软件列入了黑名单,所以利用杀毒软件对web空间中的文件进行扫描,可以有效的发现并清除这些有名的asp木马。

技巧2:FTP客户端对比

asp木马若进行伪装,加密,躲藏杀毒软件,怎么办?

我们可以利用一些FTP客户端软件(例如cuteftp,FlashFXP)提供的文件对比功能,通过对比FTP的中的web文件和本地的备份文件,发现是否多出可疑文件。

技巧3:用BeyondCompare2进行对比

渗透性asp木马,可以将代码插入到指定web文件中,平常情况下不会显示,只有使用触发语句才能打开asp木马,其隐蔽性非常高。BeyondCompare2这时候就会作用比较明显了。

技巧4:利用组件性能找asp木马

如:思易asp木马追捕。

大家在查找web空间的asp木马时,最好几种方法结合起来,这样就能有效的查杀被隐藏起来的asp木马。

结束语

总结了ASP木马防范的十大原则供大家参考:

建议用户通过FTP来上传、维护网页,尽量不安装asp的上传程序。

对asp上传程序的调用一定要进行身份认证,并只允许信任的人使用上传程序。

asp程序管理员的用户名和密码要有一定复杂性,不能过于简单,还要注意定期更换。

到正规网站下载asp程序,下载后要对其数据库名称和存放路径进行修改,数据库文件名称也要有一定复杂性。

要尽量保持程序是最新版本。

不要在网页上加注后台管理程序登陆页面的链接。

为防止程序有未知漏洞,可以在维护后删除后台管理程序的登陆页面,下次维护时再通过上传即可。

要时常备份数据库等重要文件。

日常要多维护,并注意空间中是否有来历不明的asp文件。

一旦发现被人侵,除非自己能识别出所有木马文件,否则要删除所有文件。重新上传文件前,所有asp程序用户名和密码都要重置,并要重新修改程序数据库名称和存放路径以及后台管理程序的路径。

做好以上防范措施,您的网站只能说是相对安全了,决不能因此疏忽大意,因为入侵与反入侵是一场永恒的战争!网站安全是一个较为复杂的问题,严格的说,没有绝对安全的网络系统,我们只有通过不断的改进程序,将各种可能出现的问题考虑周全,对潜在的异常情况进行处理,才能减少被黑客入侵的机会。

参考文献

[1]袁志芳田晓芳李桂宝《ASP程序设计与WEB信息安全》中国教育信息化2007年21期.

asp技术论文篇(7)

论文摘要:网络上的动态网站以ASP为多数,我们学校的网站也是ASP的。笔者作为学校网站的制作和维护人员,与ASP攻击的各种现象斗争了多次,也对网站进行了一次次的修补,根据工作经验,就ASP网站设计常见安全漏洞及其防范进行一些探讨。本文结合 ASP 动态网站开发经验,对ASP 程序设计存在的信息安全隐患进行分析,讨论了ASP 程序常见的安全漏洞,从程序设计角度对 WEB信息安全及防范提供了参考。

1网络安全总体状况分析

2007年1月至6月期间,半年时间内,CNCERT/CC接收的网络仿冒事件和网页恶意代码事件,已分别超出去年全年总数的14.6%和12.5%。

从CNCERT/CC掌握的半年情况来看,攻击者的攻击目标明确,针对不同网站和用户采用不同的攻击手段,且攻击行为趋利化特点表现明显。对政府类和安全管理相关类网站主要采用篡改网页的攻击形式,也不排除放置恶意代码的可能。对中小企业,尤其是以网络为核心业务的企业,采用有组织的分布式拒绝服务攻击(DDoS)等手段进行勒索,影响企业正常业务的开展。对于个人用户,攻击者更多的是通过用户身份窃取等手段,偷取该用户游戏账号、银行账号、密码等,窃取用户的私有财产。

2 用IIS+ASP建网站的安全性分析

微软推出的IIS+ASP的解决方案作为一种典型的服务器端网页设计技术,被广泛应用在网上银行、电子商务、网上调查、网上查询、BBS、搜索引擎等各种互联网应用中。但是,该解决方案在为我们带来便捷的同时,也带来了严峻的安全问题。本文从 ASP 程序设计角度对 WEB 信息安全及防范进行分析讨论。

3 SP安全漏洞和防范

3.1 程序设计与脚本信息泄漏隐患

bak 文件。攻击原理:在有些编辑ASP程序的工具中,当创建或者修改一个ASP文件时,编辑器自动创建一个备份文件,如果你没有删除这个bak文件,攻击者可以直接下载,这样源程序就会被下载。

防范技巧:上传程序之前要仔细检查,删除不必要的文档。对以BAK为后缀的文件要特别小心。

inc文件泄露问题。攻击原理:当存在ASP的主页正在制作且没有进行最后调试完成以前,可以被某些搜索引擎机动追加为搜索对象。如果这时候有人利用搜索引擎对这些网页进行查找,会得到有关文件的定位,并能在浏览器中查看到数据库地点和结构的细节,并以此揭示完整的源代码。

防范技巧:程序员应该在网页前对它进行彻底的调试。首先对.inc文件内容进行加密,其次也可以使用.asp文件代替.inc文件,使用户无法从浏览器直接观看文件的源代码。

3.2 对ASP页面进行加密。为有效地防止ASP源代码泄露,可以对ASP页面进行加密。我们曾采用两种方法对ASP页面进行加密。一是使用组件技术将编程逻辑封装入 DLL之中;二是使用微软的Script Encoder对ASP页面进行加密。

3.3 程序设计与验证不全漏洞

验证码。普遍的客户端交互如留言本、会员注册等仅是按照要求输入内容,但网上有很多攻击软件,如注册机,可以通过浏览WEB,扫描表单,然后在系统上频繁注册,频繁发送不良信息,造成不良的影响,或者通过软件不断的尝试,盗取你的密码。而我们使用通过使用验证码技术,使客户端输入的信息都必须经过验证,从而可以解决这个问题。

登陆验证。对于很多网页,特别是网站后台管理部分,是要求有相应权限的用户才能进入操作的。但是,如果这些页面没有对用户身份进行验证,黑客就可以直接在地址栏输入收集到的相应的 URL 路径,避开用户登录验证页面,从而获得合法用户的权限。所以,登陆验证是非常必要的。

SQL 注入。SQL注入是从正常的WWW端口访问,而且表面看起来跟一般的Web页面访问没什么区别,所以目前市面的防火墙都不会对SQL注入发出警报,如果管理员没查看IIS日志的习惯,可能被入侵很长时间都不会发觉。

SQL 注入攻击是最为常见的程序漏洞攻击方式,引起攻击的根本原因就是盲目信任用户,将用户输入用来直接构造 SQL 语句或存储过程的参数。以下列出三种攻击的形式:

A.用户登录: 假设登录页面有两个文本框,分别用来供用户输入帐号和 密码,利用执行SQL 语句来判断用户是否为合法用户。试想,如果黑客在密码文本框中输入 'OR 0=0,即不管前面输入的用户帐号和密码是什么,OR后面的 0=0 总是成立的,最后结果就是该黑客成为了合法的用户。

B.用户输入:假设网页中有个搜索功能,只要用户输入搜索关键字,系统就列出符合条件的所有记录,可是,如果黑客在关键字文本框中输入' GO DROP TABLE 用户表,后果是用户表被彻底删除。

C.参数传递: 假设我们有个网页链接地址是 HTTP://……asp?id=22, 然后 ASP在页面中利用 Request.QueryString['id']取得该 id值,构成某 SQL 语句, 这种情况很常见。可是,如果黑客将地址变为HTTP://……asp?id=22 and user=0 ,结果会怎样?如果程序员有没有对系统的出错提示进行屏蔽处理的话,黑客就获得了数据库的用户名,这为他们的进一步攻击提供了很好的条件。

解决方法:以上几个例子只是为了起到抛砖引玉的作用,其实,黑客利用“猜测+精通的sql 语言+反复尝试”的方式,可以构造出各种各样的sql入侵。作为程序员,如何来防御或者降低受攻击的几率呢?作者在实际中是按以下方法做的:

第一: 在用户输入页面加以友好备注,告知用户只能输入哪些字符;

第二: 在客户端利用 ASP 自带的校验控件和正则表达式对用户输入进行校验,发现非法字符,提示用户且终止程序进行;

第三: 为了防止黑客避开客户端校验直接进入后台,在后台程序中利用一个公用函数再次对用户输入进行检查,一旦发现可疑输入,立即终止程序,但不进行提示,同时,将黑客IP、动作、日期等信息保存到日志数据表中以备核查。

第四: 对于参数的情况,页面利用 QueryString 或者 Quest 取得参数后, 要对每个参数进行判断处理,发现异常字符, 要利用 replace 函数将异常字符过滤掉,然后再做下一步操作。

转贴于

第五:只给出一种错误提示信息,服务器都只提示HTTP 500错误。

第六:在IIS中为每个网站设置好执行权限。千万别给静态网站以“脚本和可执行”权限。一般情况下给个“纯脚本”权限就够了,对于那些通过网站后台管理中心上传的文件存放的目录,就更吝啬一点吧,执行权限设为“无”好了。

第七:数据库用户的权限配置。对于MS_SQL,如果PUBLIC权限足够使用的绝不给再高的权限,千万不要SA级别的权限随随便便地给。

3.4 传漏洞

诸如论坛,同学录等网站系统都提供了文件上传功能,但在网页设计时如果缺少对用户提交参数的过滤,将使得攻击者可以上传网页木马等恶意文件,导致攻击事件的发生。

防文件上传漏洞

在文件上传之前,加入文件类型判断模块,进行过滤,防止ASP、ASA、CER等类型的文件上传。

暴库。暴库,就是通过一些技术手段或者程序漏洞得到数据库的地址,并将数据非法下载到本地。

数据库可能被下载。在IIS+ASP网站中,如果有人通过各种方法获得或者猜到数据库的存储路径和文件名,则该数据库就可以被下载到本地。

数据库可能被解密

由于Access数据库的加密机制比较简单,即使设置了密码,解密也很容易。因此,只要数据库被下载,其信息就没有任何安全性可言了。

防止数据库被下载 。由于Access数据库加密机制过于简单,有效地防止数据库被下载,就成了提高ASP+Access解决方案安全性的重中之重。以下两种方法简单、有效。

非常规命名法。为Access数据库文件起一个复杂的非常规名字,并把它放在几个目录下。

使用ODBC数据源。在ASP程序设计中,如果有条件,应尽量使用ODBC数据源,不要把数据库名写在程序中,否则,数据库名将随ASP源代码的失密而一同失密。

使用密码加密。经过MD5加密,再结合生成图片验证码技术,暴力破解的难度会大大增强。

使用数据备份。当网站被黑客攻击或者其它原因丢失了数据,可以将备份的数据恢复到原始的数据,保证了网站在一些人为的、自然的不可避免的条件下的相对安全性。

3.5 SP木马

由于ASP它本身是服务器提供的一项服务功能,所以这种ASP脚本的木马后门,不会被杀毒软件查杀。被黑客们称为“永远不会被查杀的后门”。我在这里讲讲如何有效的发现web空间中的asp木马并清除。

技巧1:杀毒软件查杀

一些非常有名的asp木马已经被杀毒软件列入了黑名单,所以利用杀毒软件对web空间中的文件进行扫描,可以有效的发现并清除这些有名的asp木马。

技巧2:FTP客户端对比

asp木马若进行伪装,加密,躲藏杀毒软件,怎么办?

我们可以利用一些FTP客户端软件(例如cuteftp,FlashFXP)提供的文件对比功能,通过对比FTP的中的web文件和本地的备份文件,发现是否多出可疑文件。

技巧3:用Beyond Compare 2进行对比

渗透性asp木马,可以将代码插入到指定web文件中,平常情况下不会显示,只有使用触发语句才能打开asp木马,其隐蔽性非常高。 Beyond Compare 2这时候就会作用比较明显了。

技巧4:利用组件性能找asp木马

如:思易asp木马追捕。

大家在查找web空间的asp木马时,最好几种方法结合起来,这样就能有效的查杀被隐藏起来的asp木马。

结束语

总结了ASP木马防范的十大原则供大家参考:

建议用户通过FTP来上传、维护网页,尽量不安装asp的上传程序。

对asp上传程序的调用一定要进行身份认证,并只允许信任的人使用上传程序。

asp程序管理员的用户名和密码要有一定复杂性,不能过于简单,还要注意定期更换。

到正规网站下载asp程序,下载后要对其数据库名称和存放路径进行修改,数据库文件名称也要有一定复杂性。

要尽量保持程序是最新版本。

不要在网页上加注后台管理程序登陆页面的链接。

为防止程序有未知漏洞,可以在维护后删除后台管理程序的登陆页面,下次维护时再通过上传即可。

要时常备份数据库等重要文件。

日常要多维护,并注意空间中是否有来历不明的asp文件。

一旦发现被人侵,除非自己能识别出所有木马文件,否则要删除所有文件。重新上传文件前,所有asp程序用户名和密码都要重置,并要重新修改程序数据库名称和存放路径以及后台管理程序的路径。

做好以上防范措施,您的网站只能说是相对安全了,决不能因此疏忽大意,因为入侵与反入侵是一场永恒的战争!网站安全是一个较为复杂的问题,严格的说,没有绝对安全的网络系统,我们只有通过不断的改进程序,将各种可能出现的问题考虑周全,对潜在的异常情况进行处理,才能减少被黑客入侵的机会。

参考文献

[1]袁志芳 田晓芳 李桂宝《ASP程序设计与 WEB信息安全》 中国教育信息化2007年21期.