温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
基于ASP的购物网站设计和实现
计算机专业
基于
ASP
购物
网站
设计
实现
摘 要
随着计算机科学的不断发展和网络的迅速普及,Internet 的应用已经涉及到人们生活的方方面面,越来越多的现代企业也意识到了这一点,如何在当前的网络大发展的背景下开拓市场已经成为了企业关注的重中之重。总的来说,互联网的销售相比传统的营销手段具有以下优势:开放性、全球性、低成本、高效率,因此,这在一定的程度上说明了计算机时代,应该把饮食的网络宣传的经营模式作为企业营销的重要策略。详细分析了网站的需求,在此基础上采用ASP 技术、数据库技术开发并实现了黑龙江省航道局网站。讨论了Session 变量存储用户登录数据、ASP 页面的静态化问题,并就网站发布时服务器安全配置方面作了探讨。本网站采用模块化设计,结构清晰,内容详细,可很好地服务于黑龙江水运。
关键字: 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 技术介绍
ASP(Active Server Pages)技术,什么是ASP呢,实质上即是新一代开发开放式的动态网页的技术,其大环境是非编译应用环境,也就是这样的一种技术能够拥有强大的商业价值。该技术能够组合Html,Script和可重用的Activex服务器组件来建立动态的,ASP的开发商是微软公司,这种技术的主要优势是开发简单有效,但是却能够保证足够强大的功能,也能够在一定的程度上非常直观简易地实现复杂的WEB应用。
(一)ASP 的特点
总的来说,ASP 的特点有以下几点:无须编辑:第一,ASP容易生成极易编辑,因为其脚本集成于HTML当中,这样对日后的完善及维护极为方便有效,网站的链接即可直接解释执行。其生成方式也极为方便:目前采用较多的就是在普通的文本编辑器,如在一般的情况下是Windows下的记事本就可以进行页面编辑设计。第二个特点就是独立于浏览器:网站的浏览器独立在一定的意义上说明了用户端只要简单的使用可执行HTML码的浏览器,就可以极为方便的浏览在ASP所设计的网页内容,这在一定的程度上说明了ASP的运行与浏览器无关。第三个特点是面向对象,在ASP技术的一个最为重要的特点就在于其脚本的方便引用系统组件和ASP自身的内置组建组件,这就大大改变了传统的引用复杂繁琐的弊端,能够简单方便的通过定制Activex服务器组件来扩充功能,第四个特点是完成网站的应用程序的速度极快,这一特点在一定的程度上使用了Vbscript等简单的脚本语言,而且改变了过去网站应用程序的编写速度极慢的状态,优化了运转的效率。第五个就是不会外漏源代码,源代码的外露给商业带来了极大的威胁,因此做好ASP脚本的保护尤为重要。ASP系统能够传到用户浏览器的常规HTML代码,这一代码就是只是由ASP的执行结果所独立生成,这可以保证程序员辛苦写出来的程序代码不会被他人盗取。
(二)ASP 的工作原理
在目前的状况来看,我们了解ASP的工作原理可以通过比较用户通过客户端浏览器请求ASP程序的过程,另外可以通过了解普通HTML页面的过程中的差异。目前的做法是在客户端浏览器地址栏中写入HTML文件的Internet地址,其次,通过浏览器的网页设置及请求,发送网页到WEB服务器,此时当WEB服务器收到请求之后,通过扩展名.hml或者.htm判断出HTML文件的请求,然后将适当的HTML文件从服务器中取出,并最终返回到客户端浏览器。此时客户端的工作就是把对HTML文件解释之后将解释的结果显示出来,这样得出来的结果就是我们的用户要看到的。
二、 ASP安全漏洞和防范
(一)程序设计与脚本信息泄漏隐患
bak文件。攻击原理:在有些编辑ASP 程序的工具中,当创建或者修改一个ASP 文件时,编辑器自动创建一个备份文件,如果你没有删除这个bak 文件,攻击者可以直接下载,这样源程序就会被下载。
防范技巧:上传程序之前要仔细检查,删除不必要的文档。对以BAK 为后缀的文件要特别小心。
inc 文件泄露问题。攻击原理:当存在ASP的主页正在制作且没有进行最后调试完成以前,可以被某些搜索引擎机动追加为搜索对象。如果这时候有人利用搜索引擎对这些网页进行查找,会得到有关文件的定位,并能在浏览器中查看到数据库地点和结构的细节,并以此揭示完整的源代码。
防范技巧:程序员应该在网页发布前对它进行彻底的调试。首先对.inc 文件内容进行加密,其次也可以使用.asp 文件代替.inc 文件,使用户无法从浏览器直接观看文件的源代码。
(二)对ASP 页面进行加密
为有效地防止ASP 源代码泄露,可以对ASP 页面进行加密。我们曾采用两种方法对ASP 页面进行加密。一是使用组件技术将编程逻辑封装入DLL 之中;二是使用微软的Script Encoder 对ASP 页面进行加密。
(三)程序设计与验证不全漏洞
验证码。普遍的客户端交互如留言本、会员注册等仅是按照要求输入内容,但网上有很多攻击软件,如注册机,可以通过浏览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.Query String['id']取得该id 值,构成某SQL 语句,这种情况很常见。可是,如果黑客将地址变为HTTP://……asp?id=22 and user=0 ,结果会怎样? 如果程序员有没有对系统的出错提示进行屏蔽处理的话,黑客就获得了数据库的用户名,这为他们的进一步攻击提供了很好的条件。
解决方法:以上几个例子只是为了起到抛砖引玉的作用,其实,黑客利用“猜测+精通的sql 语言+反复尝试”的方式,可以构造出各种各样的sql 入侵。作为程序员,如何来防御或者降低受攻击的几率呢? 作者在实际中是按以下方法做的:
第一:在用户输入页面加以友好备注,告知用户只能输入哪些字符;
第二:在客户端利用ASP 自带的校验控件和正则表达式对用户输入进行校验,发现非法字符,提示用户且终止程序进行;
第三:为了防止黑客避开客户端校验直接进入后台,在后台程序中利用一个公用函数再次对用户输入进行检查,一旦发现可疑输入,立即终止程序,但不进行提示,同时,将黑客IP、动作、日期等信息保存到日志数据表中以备核查。
第四:对于参数的情况,页面利用Query String或者Quest 取得参数后,要对每个参数进行判断处理,发现异常字符,要利用replace 函数将异常字符过滤掉,然后再做下一步操作。
第五:只给出一种错误提示信息,服务器都只提示HTTP 500 错误。
第六:在IIS 中为每个网站设置好执行权限。千万别给静态网站以“脚本和可执行”权限。一般情况下给个“纯脚本”权限就够了,对于那些通过网站后台管理中心上传的文件存放的目录,就更吝啬一点吧,执行权限设为“无”好了。
第七:数据库用户的权限配置。对于MS_SQL,如果PUBLIC 权限足够使用的绝不给再高的权限,千万不要SA 级别的权限随随便便地给。
(四)传漏洞
诸如论坛,同学录等网站系统都提供了文件上传功能,但在网页设计时如果缺少对用户提交参数的过滤,将使得攻击者可以上传网页木马等恶意文件,导致攻击事件的发生。
防文件上传漏洞在文件上传之前,加入文件类型判断模块,进行过滤,防止ASP、ASA、CER 等类型的文件上传。
暴库。暴库,就是通过一些技术手段或者程序漏洞得到数据库的地址,并将数据非法下载到本地。数据库可能被下载。在IIS+ASP 网站中,如果有人通过各种方法获得或者猜到数据库的存储路径和文件名,则该数据库就可以被下载到本地。
数据库可能被解密由于Access 数据库的加密机制比较简单,即使设置了密码,解密也很容易。因此,只要数据库被下载,其信息就没有任何安全性可言了。防止数据库被下载。由于Access 数据库加密机制过于简单,有效地防止数据库被下载,就成了提高ASP+Access 解决方案安全性的重中之重。以下两种方法简单、有效。非常规命名法。为Access 数据库文件起一个复杂的非常规名字,并把它放在几个目录下。使用ODBC 数据源。在ASP 程序设计中,如果有条件,应尽量使用ODBC 数据源,不要把数据库名写在程序中,否则,数据库名将随ASP 源代码的失密而一同失密。使用密码加密。经过MD5 加密,再结合生成图片验证码技术,暴力破解的难度会大大增强。使用数据备份。当网站被黑客攻击或者其它原因丢失了数据,可以将备份的数据恢复到原始的数据,保证了网站在一些人为的、自然的不可避免的条件下的相对安全性。
(五)ASP 木马
由于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 木马追捕。大