ASP网站设计安全性分析

关键词: 设计

ASP网站设计安全性分析(精选十篇)

ASP网站设计安全性分析 篇1

ASP是一套微软开发的服务器端运行的脚本平台,ASP内含于IIS当中,通过ASP我们可以结合HTML网页、ASP指令和ActiveX元件建立动态、交互且高效的WEB服务器应用程序,在诸如论坛设计、在线考试、留言板等信息化系统设计中,得到了广泛的应用。

access数据库作为微软推出的桌面型数据库系统,由于具有操作简单、界面友好等特点,具有较大的用户群体。目前,IIS+ASP+Access是中小型Internet网站的首选方案。但是,该解决方案在为我们带来便捷的同时,也带来了严峻的安全问题,主要问题有如下几个方面:

(1)服务器上存储数据的access数据库的安全问题:数据库文件可能被非法用户访问或下载;

(2) ASP文件的安全问题:由于网站要和客户进行交互,非法用户可能获取ASP文件代码或通过ASP页面交互对网站内容进行访问。

(3)网站服务器安全问题:网站使用人员对系统的不合适设置,增加了网站系统的安全风险。

2 解决方法:

2.1 网站数据库安全设置:

(1)对access数据库采用非系统的命名方法:为Access数据库文件起一个复杂的非常规名字,特别是其扩展名,不再使用默认的mdb,例如将data.mdb文件名改为data.mab, 这样非法的用户不可能通过估计的方式来得到access数据库文件名。

(2)对access数据库进行加密:网站开发时,对数据库进行加密,选取"工具->安全->加密/解密数据库,选取数据库,然后接确定,这样可以对数据库文件加以编码,以防止他人使用别的工具来查看数据库文件的内容。另外可以为数据库加密,首先以打开经过编码了accerss文件,在打开时,选择“独占"方式,然后选取功能表的“工具->安全->设置数据库密码”,为数据库文件设置密码。如果在ASP页面中要使用ACCEES数据库文件时,则在数据库和页面连接时要求提供密码,验证正确后才能够连接数据库。

(3) ASP页面和数据库连接时,使用ODBC数据源:由于使用字符串连接时会将数据库名写在程序中,当ASP代码泄密后,非法用户可在代码行中获取文件名,例:conn.open“driver={Microsoft Access Driver (*.mdb) };dbq=”&Server.Map Path (“data.mdb”) ,而ODBC数据源是网站使用人员在控制面板中进行设置,在ASP代码行中不会出现数据库名,如:conn.open“ODBC-DSN名”,以增加数据库的安全性。

2.2 ASP文件安全设置:

(1)使用组件技术对ASP页面进行加密:开发人员在实现系统功能时,可以将ASP代码采用组件技术进行逻辑封装,这样在ASP网站中将不再过多显示ASP代码行,使用人员只能看见编译后的DLL文件,它是不能用工具软件查看的,这样可大增加网站的安全性。

(2) ASP页面文件对话期的安全:在ASP网站中,当一个页面运行结束后,该页面的所有信息将注销,用户要在不同的页面间进行信息交换,必须采用session会话变量来实现页面间进行信息交换, 但当一个用户退出某一页面时,系统中定义的session会话变量仍然存在,引起站点的不安全,所以在系统中要在适当的地方即用户退出系统时,及时注销session会话变量。

(3)防止SQL注入,提高系统的安全性:SQL注入就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。当应用程序使用输入内容来构造动态sql语句以访问数据库或在代码使用存储过程,而这些存储过程作为包含未筛选的用户输入的字符串来传递,就可能会发生sql注入,sql注入可能导致非法用户使用应用程序登陆在数据库中执行命令,获得服务器上重要的信息,在开发ASP系统中,防止SQL注入归纳一下,主要有以下几方面:

(1) 不要信任用户的输入。对用户的输入内容要进行校验,可以通过正则表达式;限制长度;或网上一些常用的过滤函数。

(2) 不要使用动态拼装sql,可以使用参数化的sql或者直接使用存储过程进行数据查询存取。

(3) 不要使用管理员权限的数据库连接,对每个应用使用权限有限的数据库连接。

(4) 不能将重要的内容直接存放,加密重要的信息可大大提高系统的安全性。

(5) 应用的异常信息应该给出尽可能少的提示,最好使用自定义的错误信息对原始错误信息进行包装。

2.3 网站服务器的安全设置:

(1)使用虚拟目录发布ASP网站:ASP网页必须放到Web服务器可以识别的目录下才可以被执行,很多ASP网页和其它相关资源一道组成一个Web应用程序,Web应用程序就是指在定义的网站目录中一组可执行的文件,这些目录被称为网站目录。为了保证每个Web一个应用程序的安全,必须保证每个Web应用程序运行于相对独立(隔离)的环境中。为每个Web应用程序配置一个IIS服务器显然是不现实的,处理虚拟目录时,IIS将它作为主目录的一个子目录来对待,Internet用户可像访问其它目录一样访问虚拟目录,但它并不在实际目录下,因此虚拟目录技术就显得尤为重要。

(2)正确设置网站中目录的访问权限,提高系统的安全性:Internet用户在访问网站时,可能会对站点内的数据库进行读写,所以ASP站点管理员必须为Internet用户开放数据的写入权限,否则客户端用户无法在服务器上保存数据,但是在设置用户权限时,要注意Internet用户在访问ASP系统时,是以“ISUR_机器名”的身份来访问站点,因此系统维护员只需设置“ISUR_机器名”账号对数据库文件和数据库文件所在文件夹的写入、修改权限,尤其不能设置“everyone”账号的写入权限,否则将大大降低系统的安全性。

3 结束语

开发ASP应用系统时,由于ASP系统具有一定的开放性,使用户和网站进行数据交换有了实现的可能,同时也带来了一定的风险。但只要采取正确的防范措施,基于asp开发的网站的安全问题就可解决,使网站更加安全。

摘要:ASP作为一种交互式的动态网页开发技术, 在动态网站的开发设计中得到了越来越广泛的应用。一个网站要对外被访问, 必须要开放一定的服务和端口, 会引起一些安全方面的问题。本文结合在网站程序的开发经验, 讨论了WEB数据库和基于ASP技术网站访问安全问题, 及相应的一些解决方法。

关键词:ASP安全性,SQL注入,连接

参考文献

[1]杨威.ASP3.0网络开发技术[M].北京:人民邮电出版社, 2001.

[2]余雷.周松建.ASP.NET应用开发百例[M]北京:清华大学出版社, 2003.

[3]李劲.精通ASP数据库设计[M].北京:科学出版社, 2001.

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

随着Internet的发展,Web技术日新月异,人们已经不再满足于静态HTML 技术,更多的是要求动态、交互的网络技术。继通用网关接口(CGI)之后,微软 推出的IIS+ASP的解决方案作为一种典型的服务器端网页设计技术,被广泛应 用在网上银行、电子商务、网上调查、网上查询、BBS、搜索引擎等各种互联网应 用中。与此同时,Access数据库作为微软推出的以标准JET为引擎的桌面型数 据库系统,由于具有操作简单、界面友好等特点,具有较大的用户群体。目前,IIS+ASP+Access是中小型Internet网站的首选方案,但是,该解决方案在为我们带来便捷的同时,也带来了严峻的安全问题。

1 安全隐患分析

IIS+ASP+Access解决方案的主要安全隐患来自Access数据库的安全性,其次在于ASP网页设计过程中的安全意识和措施。

(1)数据库可能被下载

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

据库,一般命名为book.mdb,store.mdb等,存储路径一般为“URL/database”或放在根目录“URL/”下,这样,任何人敲入地址:“URL/database/store.mdb”,数据库就可以被下载了。

(2)数据库可能被解密

由于Access数据库的加密机制比较简单,即使设置了密码,解密也很容易。该数据库系统通过将用户输入的密码与某一固定密钥(例如:Access97为

86FBEC375D449CFAC65E28E613)进行“异或”来形成一个加密串,并将其存储在倡.mdb文件从地址“&H42”开始的区域内。这样可以轻松地编制解密程序,一个几十行的小程序就可以轻松地获得任何Access数据库的密码。因 此,只要数据库被下载,其信息就没有任何安全性可言了。

(3)ASP页面的安全性

1)源代码安全性隐患

由于ASP程序采用非编译性语言,大大降低了程序源代码的安全性。如果

黑客侵入站点,就可以获得ASP源代码;同时,对于租用服务器的用户,因个别 服务器出租商的职业道德问题,也会造成ASP应用程序源代码泄露。

2)程序设计中容易被忽视的安全性问题

ASP代码使用表单实现交互,而相应的内容会反映在浏览器的地址栏中,如 果不采用适当的安全措施,只要记下这些内容,就可以绕过验证直接进入某一页

面。例如在浏览器中敲入“page.asp?x=1”,即可不经过表单页面直接进入满 足“x=1”条件的页面。因此,在验证或注册页面中,必须采取特殊措施来避免 此类问题的产生。

2 提高IIS+ASP网站安全性的方法

(1)防止数据库被下载

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

以下两种方法简单、有效:

1)非常规命名法

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

例如对于网上书店的数据库,我们不把它命名为“book.mdb”或“Store.m

db”,而是起个非常规的名字,例如faq9jl.mdb,再把它放在如./akkt/kj61/acd/av5的几层目录下,这样黑客想通过猜的方式得到Access数据库文件名就很难了。

2)使用ODBC数据源

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

DBPath=Server.MapPath("./akkt/kj61/acd/av5/faq9jl.mdb")conn.Open"driver={MicrosoftAccessDriver(*.mdb)};dbq="&DBPath

可见,即使数据库名字起得再怪异,隐藏的目录再深,ASP源代码失密后,也 很容易被下载下来,如果使用ODBC数据源,就不会存在这样的问题了。例如: conn.Open"ODBC唱DSN名"

(2)对ASP页面进行加密

为有效地防止ASP源代码泄露,可以对ASP页面进行加密。经常采用两种

方法对ASP页面进行加密:①是使用组件技术将编程逻辑封装入DLL之中;②是使用微软的ScriptEncoder对ASP页面进行加密。使用组件技术存在的主要 问题是每段代码均需组件化,操作比较繁琐,工作量较大,而使用Encoder对

ASP页面进行加密,操作简单、收效良好。ScriptEncoder的运行程序是screnc.exe,使用方法是:

SCRENC[/s][/f][/xl][/ldefLanguage][/edefExtension]inputfileout唱

putfile其中:/s是屏蔽屏幕输出;/f指定输出文件是否覆盖同名输入文件;/xl指是否在.asp文件的顶部添加@Language指令;/ldefLanguag指定缺省的脚本语言;/edefExtension指定待加密文件的扩展名。(3)注册验证

为防止未经注册的用户绕过注册界面直接进入应用系统,我们采用Session 对象进行注册验证。例如我们制作了下面的注册页面。

设计要求注册成功后系统启动hrmis.asp?page=1页面。假设不采用Session对象进行注册验证,则用户在浏览器中敲入“URL/hrmis.asp?page=1”即可绕过注册界面,直接进入系统。

在此,利用Session对象进行注册验证:

<%

′读取使用者所输入的账号和密码

userID=Request("userID")

password=Request("password")

′检查UserID及password是否正确

IfuserID<>"hrmis"orpassword<>"password"then

Response.Write"账号错误!"

Response.End

EndIf

′将Session对象设置为通过验证状态

Session("Passed")=true

%>

进入应用程序后,首先进行验证:

<%

′如果未通过验证,返回Login状态

IfnotSession("Passed")Then

Response.Redirect"Login.asp"

EndIf

%>

通过对IIS+ASP+Access网上应用系统安全性的研究,对现有系统进行了 改造,可以收到了较好的效果。

ASP网站设计安全性分析 篇3

关键词:ASP;网站安全;安全漏洞;防范策略

中图分类号:TP393.08 文献标识码:A文章编号:1007-9599 (2011)06-0000-01

ASP-based Web Site Design Security Issues

Zhao Zhijiang

(Baise University,Baise533000,China)

Abstract:Currently, the development of tools for web design are many, and ASP (ActiveServer Pages) as a typical server-side web design technology that will script, hypertext, and powerful database access functions together, set a simple, efficient, And easy scalability in one. Therefore, its free Internet-based source code very much, many enterprises and institutions to download them directly as their website, also there is a flawed source, hundreds of websites have been affected by the phenomenon, there are some programmers Lack of principle for the ASP site and the means of background knowledge of the invasion, the design of the site there are significant security risks.

Keywords:ASP;Site security;Security vulnerabilities;Preventive strategies

随着互联网的迅速发展,为了能更好地更充分地使用好互联网这个世界上最大的交流平台,许多单位竞相建设了自己的网站。在Web数据库访问的多种技术中,ASP以其开发周期短、存取数据库方便、执行效率高而成为众多网站程序员的首选开发技术。ASP是Microsoft公司推出的一种用以取代CGI通用网关接口的技术,英文全称Active Server Pages,动态服务器网页。它是一个Web服务器端的运行环境。ASP本身包含了VBScript和Javascript引擎,使得脚本可以直接嵌入HTML中。ASP动态网站的安全问题是个值得网站设计者和管理者重视的问题。

一、ASP在网络安全上的优点

ASP脚本是使用VBScript,JavaScript或JScript脚本语言编写的,与标准HTML页面混合在一起的脚本所构成的文本格式的文件。当Web浏览器向Web服务器发出HTTP请求,访问ASP文件时,Web服务器判断出该请求的ASP文件含有“<%”和“%>”后,调用ASP。DLL,进行语法分析、解释执行,然后将最终结果转换成为标准的HTML格式内容,返回给Web浏览器,由Web浏览器显示。这是一次完整的ASP执行过程。ASP在网络安全方面主要有以下优点:

(一)不泄漏源代码。相比客户端执行的JavaScript程序,ASP在网络安全上的优点之一是用户不能看到ASP源程序。因为传到浏览器端的只是转换成HTML语言的结果。这一点既维护了ASP开发人员的版权,又维护了网站系统的安全。(二)支持虚拟目录。虚拟目录的建立在网络安全上有重要意义。因为虚拟目录方式可以隐藏站点目录结构。而站点目录结构的暴露,往往是导致系统受到攻击的第一步。而且网站源代码不需要任何修改,就可以搬迁到另一台服务器上正常运行,另外,管理员可以对虚拟目录设置不同的操作权限。从而方便管理,并且提高ASP程序的安全性。

二、ASP网站的主要安全隐患

(一)设计上的漏洞。有些网站在设计时存在利用网上的现成模板或代码公开的免费程序,有些ASP网站设计人员将有特权的用户名、密码、数据库路径等直接写在程序中,为攻击者攻击系统提供了破解密码、下载数据库甚至登录到后台获取网站的管理权限等途径。(二)系统软件和管理上的漏洞。Windows、Linux等操作系统以及网站采用的数据库系统如Access、SQL SERVER等存在有一定的安全漏洞;IIS、注册表、特殊系统命令和文件夹的属性、用户名及用户权限、用户口令及生存期等安全设置,若处理不当,对网站的安全性影响较大。(三)后台管理用户使用安全问题。网站后台管理用户由于习惯和安全责任心等对网站的安全性也有很大的影响,如后台登录的用户名、密码过于简单有规律、密码使用期太长等易被破解;密码保存问题、后台管理计算机系统有木马和计算机病毒容易造成密码泄露等。

三、对ASP安全隐患的防范策略

目前,大多数网站上的ASP程序有很多安全漏洞,但如果编写程序的时候注意一点的话,还是可以避免的。

(一)源程序泄露的防范。当存在ASP的主页正在制作且没有进行最后调试完成以前,可以被某些搜索引擎机动追加为搜索对象。如果这时候有人利用搜索引擎对这些网页进行查找,会得到有关文件的定位,并能在浏览器中查看到数据库地点和结构的细节,并以此揭示完整的源代码。因此,程序员应该在网页发布前对它进行彻底的调试;安全专家则需要加固ASP文件以便外部的用户不能看到它们。首先对。inc文件内容进行加密,其次也可以使用。ASP文件代替。inc文件使用户无法从浏览器直接观看文件的源代码。inc文件的文件名不要使用系统默认的或者有特殊含义容易被用户猜测到的名称,尽量使用无规则的英文字母。(二)防止验证被绕过。现在需要经过验证的ASP程序大多是在页面头部加一个判断语句,但这还不够,有可能被黑客绕过验证直接进入。因此,对于这类问题的防范,需要经过验证的ASP页面,可跟踪上一个页面的文件名,只有从上一页面转进来的会话才能读取这个页面。(三)用户名与口令破解的防范。用户名与口令,往往是黑客们最感兴趣的东西,如果被通过某种方式看到源代码,后果是严重的。因此,涉及用户名与口令的程序最好封装在服务器端,尽量少在ASP文件里出现,涉及与数据库连接的用户名与口令应给予最小的权限。出现次数多的用户名与口令可以写在一个位置比较隐蔽的包含文件中。如果涉及与数据库连接,在理想状态下只给它以执行存储过程的权限,千万不要直接给予该用户修改、插入、删除记录的权限。

四、结语

安全问题是任何网络程序开发所需要关注的首要问题,基于ASP的网站,由于其自身的脆弱,更需要对安全性问题给予足够的重视。虽然针对网站的攻击越来越频繁,安全问题给网站管理员造成了很大的压力。但是我们也不必恐慌,只要我们了解了攻击原理,就一定可以找到对付他们的方案。

参考文献:

ASP网站安全性问题探析 篇4

1 ASP动态Web网站工作原理

一个典型的ASP网站通常采用IIS+MSSQLServer或者IIS+Access的系统结构。IIS提供Web服务,由SQL SERVER或者Access提供数据库服务,客户机通过浏览器与Web服务器交互获取信息,而Web服务器把客户机的数据请求提交到数据库服务器,数据库服务器再把提取的数据传送给Web服务器,最后Web服务器通过浏览器显示结果给客户机,如图1所示。从ASP工作机理来看,ASP脚本是一系列按照特定语法格式编写的代码(目前支持VBSCRIPT和JAVASCRIPT两种脚本语言)与标准HTML页面混合在一起的脚本所构成的文本格式的文件,是一种非编译性语言。

由于ASP程序采用非编译性语言,使得基于ASP网站的安全漏洞包括两个方面:一是Web服务器本身的安全,二是ASP程序设计以及数据库安全。下面以IIS+Access架构为例,探讨ASP网站全安全问题。

2 Web服务器本身的安全

ASP技术中常用微软自带的IIS架设web服务器,WEB服务器的安全包括系统安全和IIS的安全。

2.1 系统的安全

2.1.1 目录文件的保护:NTFS权限

NTFS文件系统提供了比FAT32更为安全的文件管理方式,它通过文件访问控制表(ACL)定义了用户访问文件和目录的权限级别,如果用户具有打开文件的权限,计算机则允许该用户访问文件,通过设定目录和文件的访问权限,禁止无关用户对目录文件进行复制、修改、删除等操作,限制对系统的入侵。

2.1.2 关闭不用的服务和协议,堵上系统的漏洞后门

尽量少开没用到的服务,一旦开启了某服务就要提防该服务可能引起的漏洞,同时要定期下载操作系统、IIS、ASP和DBMS最新漏洞的补丁。

2.2 IIS的安全

2.2.1 不要将IIS安装在系统分区上

默认情况下IIS与操作系统装在同一个分区,这是一个潜在的安全隐患。因为一旦入侵者绕过IIS的安全机制,就可能入侵到系统分区,如果管理员对系统文件夹、文件的权限设置不严密,系统的重要文件就可能被篡改删除,如将IIS安装到其它分区,则可以降低此类事件发生的几率。

2.2.2 修改IIS的默认安装路径

IIS的默认安装路径是inetpub,web服务页面路径是inetpubwwwroot,这是任何一个熟悉IIS的都知道的,使用默认路径就等于告知了入侵者系统的重要资料,故绝对不能用默认路径。

2.2.3 删除危险的IIS组件

默认安装后的有些IIS组件可能会造成安全威胁,用户可根据需要决定是否删除,如组件:internet服务管理器(HTML),SMTPServer,NNTP Server等。

3 程序设计安全

1)用户名、口令安全机制:加强匹配过滤条件,在必要场合可用DM5算法来加密用户输入的密码,可以保证线路被监听的情况下保证数据的安全,保护用户口令的安全。

2)进行注册验证:对用户进行分级管理,限定权限,特定用户访问特定资源,可以利用SESSION对象和HTTP头信息来实现此类安全控制。访问者通过身份验证页面后把Session对象的SessionId属性作为一个Srssion变量保存起来,当访问者试图导向到一个有效链接页面时,则将当前的SessionID与保存在Session对象中的ID比较,不匹配则拒绝访问。

3)网页过期处理:给网页设置一个过期时间,不仅保证用户的安全,也可减少服务器的连接数,提高服务器性能,如Session timeout=10,即可限制网页连接时间,超时失效。

4)程序出错管理:错误的执行参数和意外的执行过程,都可使网页出现错误提示,不法分子可从错误提示中得到很多网站相关信息,如数据库名称,字段名等,在程序代码编写中要注意对异常数据的处理和意外事件的发生进行有效控制。

5)源代码泄漏

由于ASP程序属于非编译性语言,其源代码一旦泄漏,就可以了解站点设置情况而后进行多种攻击。为有效地防止ASP源代码泄露造成的危害,可以对ASP页面进行加密。ASP加密的方法很多,一是ASPP2DLL技术,原理是利用VB6.0提供的ActicexDel对象将ASP代码进行封装,编译为DLL文件,在ASP程序中调用该DLL文件。二是利用微软提供的Script Encoder加密软件对ASP页面进行加密。

4 数据库安全

4.1 Access被下载危机

在Asp+Access网站应用系统中,如果有人通过各种方法获得或者猜到Access数据库的存储路径和数据库名,则该数据库就可以被下载到本地。如对于网上书店的Access数据库,人们一般命名为Book.mdb或Store.mdb等,而存储的路径一般为“URL database”或放在根目录(“URL/”)下,这样,在浏览器地址栏中敲入“URL/database/book.mdb”,就可以把Book.mdb下载到本地。

我们可以采用以下几种简单有效方法:(1)非常规命名法。为Access数据库文件起一个复杂的非常规名字,并把这个名字放在几个目录下,这样想通过猜的方式得到Access数据库文件名就很难了。(2)使用ODBC数据源。尽量使用ODBC数据源,不要把数据库名写在程序中,否则,数据库名将随ASP源代码的失密而一同失密。(3)为数据库建立DSN。为数据库建立DSN(DataSource Name),而在进行数据库访问时直接访问该DSN。

4.2 SQL注入攻击(SQL Injection)

注入攻击是指攻击者在普通用户输入中输入数据库操作命令。这类攻击可以绕过程序中的密码验证,对数据库进行查询、修改和删除等操作。SQL注入并非是ASP+SQL平台特有的现象,理论上存在于任何使用SQL语句的系统。常见的SQL注入攻击有:

4.2.1 SQL身份验证的漏洞

缺乏安全防范的网站通过调用下列select语句验证用户的合法性:

SELECT*FROM tblUser WHERE UserName="&userid&"AND Password="&pass&"

这时,如果知道合法的用户名(如tom),则在用户名中键入tom--。这样实际执行的SQL语句将是:

SELECT*FROM tblUser WHERE UserName="tom--"AND Password="&pass&"

这样,由于“--”在SQL语法中为注释符,最终被执行的语句将是:

SELECT*FROM tblUser WHERE UserName=tom,从而以用户tom的身份登录到系统。

有的程序员习惯使用SQL Server的sa帐号访问数据库,入侵者可以轻易地利用这个漏洞执行一些操作系统命令。

解决方法:在程序设计时应加强对用户输入信息合法性的判断,严格用户权限管理,避免默认数据库帐号等。SQL注入可以在任何使用SQL语句的系统下产生,防火墙、防病毒软件对它无能为力。

4.2.2 存储过程和函数漏洞

在实际应用中,很多企业级用户会用到微软公司的另一个产品:MS SQL Server。SQL Server本身提供了非常多的函数、系统存储过程和扩展存储过程来帮助程序员更加方便地利用T—SQL完成软件开发工作。由于有些程序员对此类功能知之不多,从而给入侵者大开方便之门。

4.3 密码探测

密码攻击包括两种:破解密码和网络监听。破解密码是使用工具不停的连接数据库来猜测密码,包括字典攻击、暴力攻击和界于两者之间的半暴力半字典攻击。通常攻击者先采用字典攻击的方法,没有成功的话依次采用半暴力半字典攻击、暴力攻击。在网络速度够好,电脑运算能力够强的情况下,这样的密码攻击危害是相当大的。

网络监听则是控制一台网络设备,在上面运行监听工具捕获在网络中传送的密码信息。网络监听可以分为两种。一种是外部的监听,将侦听工具软件放到网络连接的设备或者放到可以控制网络连接设备的电脑上,这里的网络连接设备,比如网关服务器、路由器等等。另外一种是来自内部的监听,对于不安全的局域网,数据是采用广播的方式传播的,只要把网卡设置为混杂模式即可接收到本来不属于自己的数据包,当然可能包括密码信息等资料。

4.4 数据库服务探测

数据库系统总是通过打开特定的TCP或UDP端口提供数据服务的。譬如在默认情况下,MS SQL Server会打开TCP的1433端口监听。攻击者在端口扫描时,只要发现1433端口是打开的,就可以利用针对MS SQL Server的攻击办法展开攻击。虽然MS SQL Server的监听端口可以改变的,但是通过微软未公开的1434端口的UDP探测依然可以知道SQL Server使用的TCP/IP端口。和1433端口不同,1434是不能改变的,而且,由于利用了udp端口,一般的过滤是很难防范的。可采用防火墙技术,可以根据数据库服务器的应用范围,在合适位置安装防火墙。

5 结束语

综上所述,ASP网站的安全问题应从系统的全局的角度进行分析和考虑,既要确保网站安全又要取得良好的系统性能。首先要了解网站架构的各个部件:Web服务器、开发语言(Asp)、数据库(如Access)的优势以及不足之处即存有那些漏洞,只有这样才能制定合理的防范措施,基于Asp开发的网站的安全问题就可解决,但也不能因此而疏忽大意,绝对安全的网站是不在存的,我们应该经常查阅新技术,查看有关安全方面的资料,关注最新的漏洞和补丁,规范自己的编程习惯等,使网站更加安全。

摘要:该文分析了WEB服务器、程序设计以及数据库三方面存在的安全隐患,并提出相应的防范措施。

关键词:ASP,web服务器,程序设计及数据库,防范措施

参考文献

[1]黄哓华.基于ASP技术的网络安全性研究[J].计算机安全,2008(12).

[2]张春江.浅谈ASP技术的安全[J].今日科苑,2009(4).

[3]姚雪萍.ASP+ACCESS组建动态网站实例精讲[M].北京:人民邮电出版社,2005.

ASP网站设计安全性分析 篇5

通过这样一个系统,学生可以随时随地进行C语言练习,巩固基础知识,强化专业素养;并且,系统可自动生成C语言试题,减轻教师工作量;在考试结束后,系统能够自动阅卷并评分,提高试题评测的准确性;综上所述,C语言试题生成系统将提高高校的办公效率和学生的专业素养。

关键词:C语言;自动组卷;在线评测;B/S

中图分类号:TP311.52 文献标识码:A 文章编号:1674-7712 (2014) 18-0180-01

一、国内外现状

国内外学者一直都热衷于试题生成系统的研究,试题生成系统主要包含两大主要模块:自动组卷模块和在线考试模块。自动组卷模块在长时间内一直有学者进行深入探讨,但至今并没有一个很好的算法方案。主要问题存在于采用经典的数学方法很难解决试卷生成过程中的收敛过程。目前的自动组卷模块根据其所使用的策略大致可以分成五类:基于随机抽取的自动组卷;基于深度与广度搜索算法的自动组卷;基于遗传算法的自动组卷;基于项目反应理论的自适应测试;基于数据挖掘和知识发现的自动组卷理论。而在线考试模块中,已经出现了ACM/ICPC的源代码在线评测系统,并且在实际应用当中效果显著,明显增加了阅卷人的效率。然而其要求运行环境苛刻,并且不具备通用性(只能应用于源代码的测试),所以并不能很好的应用于国内的科学教育工作当中。我国国内也自主开发了一些在线评测系统,如等级考试的机试测试部分,这就是一个很好的应用实例,每年有数千万的考生参加,也取得了显著的应用效果。然而由于其源代码的封闭性,致使其无法应用于其他高等院校。并且其系统当中也存在一定的效率问题。

二、系统概要设计

试题生成系统采用的是模块化的设计思想,不同的模块化对应不同的功能,而不同的用户对系统有不一样的功能需求。但总体来说本系统的功能需求主要包含包括几方面:(1)对用户的管理。用户在进入系统时,必须要注册用户,登录基本信息。在这项功能里,要实现对用户的有效管理,本系统的用户包括对学生、管理员、老师。在系统的数据库中队用户的基本信息进行记录管理。(2)对试题管理。系统在对试题管理的过程中,系统可以随机分组试题,自动合成试卷,或者通过手工调整、编辑试卷和打印试卷等。老师还可以添加试题,删除试题,修改试题,查询试题。系统会及时更新试题库,对试题库进行备份,同时对不同的试题内容和属性进行分类管理。(3)在线评测。学生在登录系统后,确认考试信息等内容,系统就会及时生成试题,考生就可以进行在线考试,不受地域的影响。而在选择套题的同时,系统会根据考生选择的套题,而列出考试范围的试题,给出每门课程合适的题型,而考生必须在规定的时间来完成。(4)成绩的管理。考生考试完成后,成绩将会保存在数据库中。而老师或者学生在考试完成后,通过任何一台联网的计算机上就可以通过网页方就可以查询学生的成绩。

总的来说,无论是学生考试还是教管理员对系统的管理还是老师对试题的添加修改,都能够随时随地通过网络完成对应的工作。

三、系統的功能模块

通过对系统的需求分析,明确了本系统需要包含题库管理、试卷管理、考试管理、成绩管理、学生管理、教师管理以及系统维护等七个模块。

四、核心模块详细设计

自动组卷模块是本系统设计的重中之重,其只需要教师进行简单的操作,便可根据教师设定的参数完成自动组卷,并且,在组卷之后还能够提示教师修正题目,对不适合的题目进行修改。在整个执行过程中,首先判定用户是否拥有操作权限,若没有操作权限则自动终止;若有操作权限,则要求用户输入试卷生成时用到的必要信息,如试卷难度、试卷类型等,以及各种类型题目的数量,然后根据上述信息构成Z(X),U(X)数组,使用随机选择法生成所要求的试题;在生成试题之后,询问用户是否需要进行修改,若需要进行修改,则根据输入的题目编号,修改对应的题目信息。如此往复直到节后,最后将相关信息分别存入试卷信息表和试题试卷对应表中。

五、结束语

系统的实现有效地提高了教学的管理,大大提高了工作效率。在系统的详细设计开发过程中,采用模块化的设计,采用当前比较流行的ASP技术,AJAX技术,基于B/S应用体系结构,让系统更加健壮和灵活,能够适应系统的不断变化和发展。一个良好的试题生成系统它所涉及的内容和知识面较多,由于时间和条件的限制,系统仍存在一定的问题,今后的研究着重从以下几个方面着手:(1)完善试题生成系统各模块的功能的实现。(2)更深入地完善试题生成的算法,让试题的调度更加合理科学。(3)更深入地学习考试数据的备份与恢复。(4)由于在本系统中主观题还需要老师亲自去修改,在以后的研究方向中需要进一步研究主观题的网上考试的自动打分。(5)在题库的建设问题上做更深入的研究。(6)进一步的做好系统的安全工作,防止黑客的入侵导致试题的泄露。(7)考试的监控系统,功能还有待完善,例如能够实现人脸识别等功能。

参考文献:

[1]谭浩强.C程序设计(第三版)[M].北京:清华大学出版社,2007:10-12.

[2]宋云娴,白鹏.智能教学系统设计与实现[M].北京:电子工业出版社,1995:60-90.

[3]师书恩.信息技术教学应用[M].北京:高等教育出版社,2004:19-35.

[4]郑玉.基于Web的计算机辅助教学系统[J].电子工程师,2001(02):15-17.

[5]深泉,胡宁静.数据库设计和自动组卷中的几个问题[J].湘潭大学自然科学学报,2002(03):27-31.

ASP网站安全问题的研究 篇6

ASP是微软公司开发的服务器端脚本环境, 通过ASP, 用户可以结合HTML网页、ASP指令和ActivexX元件建立动态、交互式、功能健壮的Web服务器应用程序。ASP作为服务器端的应用技术, 具有强大的功能和快速的开发能力, 但是, 对于一些初学者对ASP应用系统的安全问题还不够了解。本文对ASP程序的安全进行一些简单的阐述。

1 源代码的安全问题

ASP代码采用的是非编译性语言, 这大大降低了程序源代码的安全性。任何人只要进入站点, 就有可能获得源代码, 从而造成ASP应用程序源代码的泄露, 因此应当对ASP代码进行保护, 常用的方法是对源代码进行加密。

一般有两种方法对ASP页面进行加密:一种是使用组件技术将编程逻辑封装入DLL之中;另一种是使用微软的Script Encode对ASP页面进行加密。使用组件技术存在的主要问题是每段代码均需组件化, 操作比较烦琐, 工作量较大;而使用ScriptEncode技术能够方便地实现ASP代码地加密和解密处理, 操作简单, 收效良好。Script Encode地加密原理是通过对包含A S P脚本源代码的文本文件进行扫描, 找出其中标记为“