基于ASP的购物网站设计和实现计算机专业_第1页
基于ASP的购物网站设计和实现计算机专业_第2页
基于ASP的购物网站设计和实现计算机专业_第3页
基于ASP的购物网站设计和实现计算机专业_第4页
基于ASP的购物网站设计和实现计算机专业_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、摘 要随着计算机科学的不断发展和网络的迅速普及,Internet 的应用已经涉及到人们生活的方方面面,越来越多的现代企业也意识到了这一点,如何在当前的网络大发展的背景下开拓市场已经成为了企业关注的重中之重。总的来说,互联网的销售相比传统的营销手段具有以下优势:开放性、全球性、低成本、高效率,因此,这在一定的程度上说明了计算机时代,应该把饮食的网络宣传的经营模式作为企业营销的重要策略。详细分析了网站的需求,在此基础上采用ASP 技术、数据库技术开发并实现了黑龙江省航道局网站。讨论了Session 变量存储用户登录数据、ASP 页面的静态化问题,并就网站发布时服务器安全配置方面作了探讨。本网站采用

2、模块化设计,结构清晰,内容详细,可很好地服务于黑龙江水运。关键字: 1、ASP技术 2、数据库 3、页面静态化 4、网站设计 目 录一、ASP 技术介绍1(一)ASP 的特点1(二)ASP 的工作原理1二、 ASP安全漏洞和防范3(一)程序设计与脚本信息泄漏隐患3(二)对ASP 页面进行加密3(三)程序设计与验证不全漏洞3(四)传漏洞5(五)ASP 木马6三、 ASP 技术的网站设计与实现7(一)网站结构及功能7(二)设计实现7(三)发布设置及结果8四、 购物网站的实现10(一)IlS服务器的建立10(二)网站与数据库的连接实现11(三)网站前台实现12参考文献17致谢18 2一、ASP 技术

3、介绍ASP(Active Server Pages)技术,什么是ASP呢,实质上即是新一代开发开放式的动态网页的技术,其大环境是非编译应用环境,也就是这样的一种技术能够拥有强大的商业价值。该技术能够组合Html,Script和可重用的Activex服务器组件来建立动态的,ASP的开发商是微软公司,这种技术的主要优势是开发简单有效,但是却能够保证足够强大的功能,也能够在一定的程度上非常直观简易地实现复杂的WEB应用。(一)ASP 的特点总的来说,ASP 的特点有以下几点:无须编辑:第一,ASP容易生成极易编辑,因为其脚本集成于HTML当中,这样对日后的完善及维护极为方便有效,网站的链接即可直接解

4、释执行。其生成方式也极为方便:目前采用较多的就是在普通的文本编辑器,如在一般的情况下是Windows下的记事本就可以进行页面编辑设计。第二个特点就是独立于浏览器:网站的浏览器独立在一定的意义上说明了用户端只要简单的使用可执行HTML码的浏览器,就可以极为方便的浏览在ASP所设计的网页内容,这在一定的程度上说明了ASP的运行与浏览器无关。第三个特点是面向对象,在ASP技术的一个最为重要的特点就在于其脚本的方便引用系统组件和ASP自身的内置组建组件,这就大大改变了传统的引用复杂繁琐的弊端,能够简单方便的通过定制Activex服务器组件来扩充功能,第四个特点是完成网站的应用程序的速度极快,这一特点在

5、一定的程度上使用了Vbscript等简单的脚本语言,而且改变了过去网站应用程序的编写速度极慢的状态,优化了运转的效率。第五个就是不会外漏源代码,源代码的外露给商业带来了极大的威胁,因此做好ASP脚本的保护尤为重要。ASP系统能够传到用户浏览器的常规HTML代码,这一代码就是只是由ASP的执行结果所独立生成,这可以保证程序员辛苦写出来的程序代码不会被他人盗取。(二)ASP 的工作原理在目前的状况来看,我们了解ASP的工作原理可以通过比较用户通过客户端浏览器请求ASP程序的过程,另外可以通过了解普通HTML页面的过程中的差异。目前的做法是在客户端浏览器地址栏中写入HTML文件的Internet地址

6、,其次,通过浏览器的网页设置及请求,发送网页到WEB服务器,此时当WEB服务器收到请求之后,通过扩展名.hml或者.htm判断出HTML文件的请求,然后将适当的HTML文件从服务器中取出,并最终返回到客户端浏览器。此时客户端的工作就是把对HTML文件解释之后将解释的结果显示出来,这样得出来的结果就是我们的用户要看到的。2、 ASP安全漏洞和防范(一)程序设计与脚本信息泄漏隐患 bak文件。攻击原理:在有些编辑ASP 程序的工具中,当创建或者修改一个ASP 文件时,编辑器自动创建一个备份文件,如果你没有删除这个bak 文件,攻击者可以直接下载,这样源程序就会被下载。 防范技巧:上传程序之前要仔细

7、检查,删除不必要的文档。对以BAK 为后缀的文件要特别小心。 inc 文件泄露问题。攻击原理:当存在ASP的主页正在制作且没有进行最后调试完成以前,可以被某些搜索引擎机动追加为搜索对象。如果这时候有人利用搜索引擎对这些网页进行查找,会得到有关文件的定位,并能在浏览器中查看到数据库地点和结构的细节,并以此揭示完整的源代码。 防范技巧:程序员应该在网页发布前对它进行彻底的调试。首先对.inc 文件内容进行加密,其次也可以使用.asp 文件代替.inc 文件,使用户无法从浏览器直接观看文件的源代码。(二)对ASP 页面进行加密为有效地防止ASP 源代码泄露,可以对ASP 页面进行加密。我们曾采用两种

8、方法对ASP 页面进行加密。一是使用组件技术将编程逻辑封装入DLL 之中;二是使用微软的Script Encoder 对ASP 页面进行加密。(三)程序设计与验证不全漏洞验证码。普遍的客户端交互如留言本、会员注册等仅是按照要求输入内容,但网上有很多攻击软件,如注册机,可以通过浏览WEB,扫描表单,然后在系统上频繁注册,频繁发送不良信息,造成不良的影响,或者通过软件不断的尝试,盗取你的密码。而我们使用通过使用验证码技术,使客户端输入的信息都必须经过验证,从而可以解决这个问题。登陆验证。对于很多网页,特别是网站后台管理部分,是要求有相应权限的用户才能进入操作的。但是,如果这些页面没有对用户身份进行

9、验证,黑客就可以直接在地址栏输入收集到的相应的URL 路径,避开用户登录验证页面,从而获得合法用户的权限。所以,登陆验证是非常必要的。SQL 注入。SQL 注入是从正常的WWW 端口访问,而且表面看起来跟一般的Web 页面访问没什么区别,所以目前市面的防火墙都不会对SQL 注入发出警报,如果管理员没查看IIS 日志的习惯,可能被入侵很长时间都不会发觉。SQL 注入攻击是最为常见的程序漏洞攻击方式,引起攻击的根本原因就是盲目信任用户,将用户输入用来直接构造SQL 语句或存储过程的参数。以下列出三种攻击的形式:A用户登录:假设登录页面有两个文本框,分别用来供用户输入帐号和密码,利用执行SQL 语句

10、来判断用户是否为合法用户。试想,如果黑客在密码文本框中输入'OR 0=0,即不管前面输入的用户帐号和密码是什么,OR 后面的0=0 总是成立的,最后结果就是该黑客成为了合法的用户。B用户输入:假设网页中有个搜索功能,只要用户输入搜索关键字,系统就列出符合条件的所有记录,可是,如果黑客在关键字文本框中输入' GO DROP TABLE 用户表,后果是用户表被彻底删除。C参数传递:假设我们有个网页链接地址是HTTP:/asp?id=22,然后ASP 在页面中利用Request.Query String'id'取得该id 值,构成某SQL 语句,这种情况很常见。可是,

11、如果黑客将地址变为HTTP:/asp?id=22 and user=0 ,结果会怎样? 如果程序员有没有对系统的出错提示进行屏蔽处理的话,黑客就获得了数据库的用户名,这为他们的进一步攻击提供了很好的条件。解决方法:以上几个例子只是为了起到抛砖引玉的作用,其实,黑客利用“猜测+精通的sql 语言+反复尝试”的方式,可以构造出各种各样的sql 入侵。作为程序员,如何来防御或者降低受攻击的几率呢? 作者在实际中是按以下方法做的:第一:在用户输入页面加以友好备注,告知用户只能输入哪些字符;第二:在客户端利用ASP 自带的校验控件和正则表达式对用户输入进行校验,发现非法字符,提示用户且终止程序进行;第三

12、:为了防止黑客避开客户端校验直接进入后台,在后台程序中利用一个公用函数再次对用户输入进行检查,一旦发现可疑输入,立即终止程序,但不进行提示,同时,将黑客IP、动作、日期等信息保存到日志数据表中以备核查。第四:对于参数的情况,页面利用Query String或者Quest 取得参数后,要对每个参数进行判断处理,发现异常字符,要利用replace 函数将异常字符过滤掉,然后再做下一步操作。 第五:只给出一种错误提示信息,服务器都只提示HTTP 500 错误。第六:在IIS 中为每个网站设置好执行权限。千万别给静态网站以“脚本和可执行”权限。一般情况下给个“纯脚本”权限就够了,对于那些通过网站后台管

13、理中心上传的文件存放的目录,就更吝啬一点吧,执行权限设为“无”好了。第七:数据库用户的权限配置。对于MSSQL,如果PUBLIC 权限足够使用的绝不给再高的权限,千万不要SA 级别的权限随随便便地给。(四)传漏洞诸如论坛,同学录等网站系统都提供了文件上传功能,但在网页设计时如果缺少对用户提交参数的过滤,将使得攻击者可以上传网页木马等恶意文件,导致攻击事件的发生。防文件上传漏洞在文件上传之前,加入文件类型判断模块,进行过滤,防止ASP、ASA、CER 等类型的文件上传。暴库。暴库,就是通过一些技术手段或者程序漏洞得到数据库的地址,并将数据非法下载到本地。数据库可能被下载。在IIS+ASP 网站中

14、,如果有人通过各种方法获得或者猜到数据库的存储路径和文件名,则该数据库就可以被下载到本地。数据库可能被解密由于Access 数据库的加密机制比较简单,即使设置了密码,解密也很容易。因此,只要数据库被下载,其信息就没有任何安全性可言了。防止数据库被下载。由于Access 数据库加密机制过于简单,有效地防止数据库被下载,就成了提高ASP+Access 解决方案安全性的重中之重。以下两种方法简单、有效。非常规命名法。为Access 数据库文件起一个复杂的非常规名字,并把它放在几个目录下。使用ODBC 数据源。在ASP 程序设计中,如果有条件,应尽量使用ODBC 数据源,不要把数据库名写在程序中,否则

15、,数据库名将随ASP 源代码的失密而一同失密。使用密码加密。经过MD5 加密,再结合生成图片验证码技术,暴力破解的难度会大大增强。使用数据备份。当网站被黑客攻击或者其它原因丢失了数据,可以将备份的数据恢复到原始的数据,保证了网站在一些人为的、自然的不可避免的条件下的相对安全性。 (五)ASP 木马由于ASP 它本身是服务器提供的一项服务功能,所以这种ASP 脚本的木马后门,不会被杀毒软件查杀。被黑客们称为“永远不会被查杀的后门”。我在这里讲讲如何有效的发现web 空间中的asp 木马并清除。技巧1:杀毒软件查杀一些非常有名的asp 木马已经被杀毒软件列入了黑名单,所以利用杀毒软件对web 空间

16、中的文件进行扫描,可以有效的发现并清除这些有名的asp 木马。技巧2:FTP 客户端对比asp 木马若进行伪装,加密,躲藏杀毒软件,怎么办?我们可以利用一些FTP 客户端软件(例如cuteftp,FlashFXP)提供的文件对比功能,通过对比FTP 的中的web 文件和本地的备份文件,发现是否多出可疑文件。技巧3:用Beyond Compare 2 进行对比渗透性asp 木马,可以将代码插入到指定web 文件中,平常情况下不会显示,只有使用触发语句才能打开asp 木马,其隐蔽性非常高。Beyond Compare 2 这时候就会作用比较明显了。技巧4:利用组件性能找asp 木马如:思易asp

17、木马追捕。大家在查找web 空间的asp 木马时,最好几种方法结合起来,这样就能有效的查杀被隐藏起来的asp 木马。3、 ASP 技术的网站设计与实现(一)网站结构及功能网站开发工具及平台本网站基于ASP 技术,运行于Windows 平台。数据库方面,目前比较常用的数据库为MS SQLServer 和MS Access,SQL Server 在安全性、开发控制能力、数据挖掘、联机操作等许多方面都是Access 无法超越的,故本文采用了MS SQL Server2000 数据库管理系统作为数据库支持。网站功能模块本网站包括不需要经常修改的静态模块和需要经常更新的动态模块其构成为:单位简介:介绍本

18、单位的基本概况。航道概况:主要内容为黑龙江省航道的基本情况,过河建筑物情况,浅滩情况,航道管理机构、养护及建设情况。航政执法:主要内容为黑龙江省航道的管理条例。机构设置:主要内容为本单位各机构基本介绍及各单位的工作职责。政工之窗:主要内容为党建工作,文明单位建设,青年园地,工会工作。船机设备:主要内容为本单位的船舶和其他机器设备。行业新闻:本模块主要提供内容为本行业的最新发展,本单位的新闻等信息。公告栏:本模块主要提供本单位的通知、公告、考核、培训等信息。水情信息:有两部分组成,一是水情预报,从开江到封江期间,每月份上中下旬提供黑松乌嫩四江的包括气象、水情趋势、水位、航深等预报信息。二是航道公

19、报,每天包括二十几个水位站的水位和十几个航线的航深公告。后台管理:本模块为用户不可见模块,包括用户登录验证,新闻、公告、水情信息等的发布、修改、删除等操作。网站设计目标本网站尽量采取模块化的设计过程,实现信息的网上查询和加速办公自动化的进程,提高工作效率。(二)设计实现网站的整体设计本网站有多个模块,但是有的模块不需要经常更新,为了减轻服务器的压力,把部分模块做成静态的,部分模块做成动态的。其中静态模块包括单位简介、航道概况、航政执法、机构设置、船机设备;动态模块包括行业新闻、公告栏、政工之窗、水情信息。网站功能模块的设计网站的动态功能模块包括文章管理模块和用户模块。其中文章管理模块分为三个功

20、能,包括文章的发布、修改、删除。数据结构及数据表本系统采用SQL Server2000 数据库管理系统。首先在SQL Server2000 中创建一个名为DB_HLJHD 的数据库。根据上面的分析,本网站需要用到六个表:BookA、BookB、BookC 及各自的User。表的详细信息如下所示:BookA 表用于存储行业新闻、公告、政工之窗中的文章相关信息。BookB 表用于存储水情信息中的水情预报相关信息。BookC 用于存放航道公报中的各站水位、较昨日、各航线的左、中、右航深等二百多字段。上述表各自的User 表,UserID(int 类型,用户ID 号)、Username (nvarch

21、ar 类型,用户名称)、Password(nvarchar类型,用户密码)。关于用户登录界面的设计用户信息的存储通常使用的对象是Session 对象和Cookie 对象。Cookie 数据存放在客户的浏览器上,单个Cookies 在客户端的限制是3K,就是说一个站点在客户端存放的Cookies 不能大于3K,Cookies 值可以用Request 来获取。Cookies 是可以设定有效期的,如果没有设定其有效期,那么用户关闭浏览器后就会自动消失。如果设定了有效期,除非通过IE 的工具清除了Cookies,否则会一直保留到设定的有效期为止。用户登录。用户登录的界面包括两个表单和两个按钮,其中表单

22、名称分别为UserName 和Password,功能是提交用户名和用户密码;两个按钮的功能分别是提交数据和取消。用户退出。用户退出的主要工作是清除保存在服务器端的用户信息,包括清除服务器端的用户名和密码,重定向页面。关于文章页面的静态化问题如果一个页面使用了较多的查询语句,用户浏览时读取的数据库次数也较多,浏览速度就会很慢,而且占用服务器资源。另外,静态的HTML 页面比ASP 页面更容易被搜索引擎搜索到,从安全角度考虑,当程序出现问题时,ASP页面会不能正常显示或者出现错误提示,HTML 页面则可以正常访问。又考虑到HTML 页面可以灵活方便地排出具有特色的版面,本站对行业新闻、公告、政工之

23、窗及水情预报采用ASP 页面静态化来发布。(三)发布设置及结果数据库链接本站采用的数据库管理系统是MS SQLServer2000,假设服务器名为local,用户名为admin,用户密码为admin888,数据库名为DB_HLJHD。安全防范SQL 注入是ASP 网站需要特别注意的问题,SQL 注入有很多方面的原因,本节主要探讨通过配置服务器防范SQL 注入攻击所需要注意的地方。Microsoft 提供的IIS 被广泛地用作服务器。IIS 有很详细的错误提示,这种提示一方面给编程开发人员调试提供了很好的参考,另一方面也给SQL 注入提供了机会。攻击者往往通过IIS 的错误提示判断是否存在SQL

24、 注入。所以在服务器上应设置将IIS 的错误提示定向到网站主界面。这样即使ASP 运行中出现错误服务器也不会泄漏错误信息。另外,为Web站点上不同类型的文件建立不同的目录,然后分别赋予适当的权限。我单位网站投入使用后,加快了本单位的信息化建设,为水上作业的工作人员提供了水情、航道等有用信息,为单位人员在工作上提供了便捷的服务,也很好地服务了黑龙江的水运。4、 购物网站的实现(一)IlS服务器的建立网站实现的第一步,首先应该建立一个用于网站实现的IIS服务器,对服务器的建立不仅是网站实现的关键也是后续对网站的测试的关键。由于系统的开发平台是WindowsXP系统。所以实现在XP系统下的115服务

25、器建立。“首先点击电脑左下方的开始按钮,然后点击菜单中的控制面板,紧接着双击窗口中的添加安装程序图标,“打开添加或删除”的对话框,如图4.1所示: 图4.1添加删除程序窗口打开添加或删除程序窗口后,双击=添加/删除Windows组件(A)按钮,打开“Windows组件向导”对话框、打开后如图4.2所示 图4.2添加删除组件点击hitemct信息服务器(II)勾选项,然后单击下一步按钮,此时系统提示需要插入安装盘,如图4.3所示 图4.3提示插入光盘界面图 最后放入安装并完成服务器安装。(2) 网站与数据库的连接实现购物网站与数据库连接的实现是网站的重要部分,如何能够高效的存储数据库是一个网站的

26、关键。由于本次设计的购物网站的许多页面都涉及到了数据库读写操作,并且都需要对数据库进行连接"因此链接数据库部分的代码使用的就将会十分频繁。为了更好的提高代码执行的效率,本文设计代码的时候采用的方法是:首先创建一个文件名为conn.asp的数据库操作文件,在页面需要使用数据库的时候只需要通过使用语句“<!一#ineludefile=”eonn.asp”一>调用eonn.asp文件。这样就可以有效的提高了系统运行的效率"数据库操作文件的主要代码如下:<%oPtionexPlieitdimeonn,eonnstr,startime,db,rsStartime=t

27、imer()db=0admin/database/#Timesshop.mdb产Seteonn=Server.Createobjeet(0ADODB.Conneetion/)eonnstr=/Provider=Mierosoft.Jet.OLEDB.4.0:Datasouree=/&Server.MapPath(00&db&/)eonn.OPeneonnstr%>(三)网站前台实现网站前台设计不仅仅要考虑美观,还要考虑网站风格的的一致性问题"在网管站的实现上我们采用了一些页面的风格文件,用以协调网站的整体风格。例如header.asp文件(网站页面的头部

28、风格文件)"在后续的页面设计中每个页面都将调用该文件进行页面的头部布局"本文设计的多个调用页面都存储在网站文件的include文件夹内。1.主页界面:主页界面:利用Dreamweaver软件对网管站首页进行简单的布局,插入相应的功能模块,将文件名保存为index.asp如图4.4所示 图4.4网站主页图片1.用户登录:“用户登录主要是针对用户登录网站前台设计的,只有笨网站的会员才能够购买网站的商品"登录时需要验证的信息主要有用户名、密码以及验证码,所以我们首先通过用Dreamweaver创建一个文件名为login.asp的asp文件。然后通过软件对其添加文本字段,

29、将其分别命名为用户名、密码、验证码。然后插入了一个随机的验证码模块。最后添加登录按钮与注册按钮。将登录按钮的触发事件设置为,通过reques对象读取到用户名与密码。然后通过sql语句中的select查询语句对数据库进行查询。如果查询成功将显示网站登录成功。如果不成功则清空文本字段中输入的内容并提示重新输入用户名。点击注册我们将按钮的触发设计为触发注册页面。”通过以上方法生成的用户名登录模块如下图4.5所示 图4.5用户名登录模块“注册页面的设计主要首先通过Drea,eaver对网站的整体布局进行设计插入表格。然后为了与首页的风格一致首先插入一些前面所说的风格模块。然后插入一些与注册信息相关的文

30、本字段。最后在插入提交和清楚按钮。其中提交按钮的触发事件设置为将文本字段中输入的内容通过SQL语句的叩date插入语句进行数据库插入操作将信息插入到用户表中。最后清楚按钮用于清楚已经输入的文本字段。”实现后的的界面如图4.6所示: 4.6注册页面图 2.购物车:“购物车的设计是本次设计的一个关键部分。通过详细设计部分所介绍的功能,利用软件首先创建一个cart.asp的文件。然后插入一些网站设计中的有关组件。当用户点击所需购买的商品时通过数据库查询语句“select*fromwhereproduct=&requeSt(”prenallle”)”查询商品表的商品信息然后将所查询到的信息显示

31、到购物车的对应项。点击删除按钮的时候通过AsP中的Recordset对象rs.deleCt删除数据记录。下订单按钮的触发事件设置为触发订单页面,点击继续采购触发的事件是回到购物界面。该界面的实现如图4.7所示: 图4.7购物车图 3.订单界面 “订单界面的设计与注册页面的设计相似,建立一个文件名为reg.asp的文件采用同样的方法设计实现该页面。”设计完成后的界面如图4.8所示 图4.8购买页面图 4.留言板块:“留言表的设计,首先是创建一个文件名为mess.asp的文件。然后加入文本框用于用户输入留言。点击提交按钮通过Sql语句将用户留言插入到数据库中的留言表中。”设计后的界面如图4.9所示: 图4.9留言模块图 5.商品搜索:商品导航主要是查询数据库中的商品类别表,将商品类别表中的数据项对应到界面中相依的位置。用户可以对界面上的信息进行点击。最后将其存为文件名为Procart.asp的文件。实现后的界面如图4.10所示: 图4.10商品导航模块图 针对网站的实现工具以及网站的具体实现过程进行详细的描述,在建立

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论