网学网为广大网友收集整理了,ASP网站的安全性研究与实现,希望对大家有所帮助!
客服咨询,网学网竭诚为您服务,本站永久域名:myeducs.cn |
计算机毕业设计 网站资源大体上是以电子数据的形式把文字、图像、声音、动画等多种形式的信息存贮在服务器中,并通过计算机、网络通信终端等方式再现出来的资源。随着计算机应用水平与网络的不断发展,网站资源呈现出传统资源所无法比拟的优势:信息的海量化、信息的交互性、共享性、时效性以及信息的安全性等。网站资源是通过计算机网络来访问的,而由于计算机网络高度的互动性和可变性,一定会产生一些人为和非人为的安全性问题。现在大多数网站都是用ASP编写而成的,而涉及这个领域的安全性问题则有待研究。 1.1 国内外研究现状自进入信息化时代以来,网站资源迅速发展,信息业的发展带动了经济的发展,但正是这点使得黑客技术日益公开化、职业化,各种攻击日益频繁,病毒日益泛滥,网站安全事件日益增多,用户的防范意识也同时迅速提高,使得市场需求大幅增加,刺激了国内网站安全产品市场快速发展。随着国家对信息安全的逐年重视,电子政务、电信、银行等国有大型企业信息化的实施,对网站安全市场发展也起到了重要的推动作用,国家在网站安全方面的投资有逐年增加的趋势,世界也对网站安全越来越重视,安全问题必将迎来一场新的革命。 1.2 本课题研究的目的现今,访问网站资源已是广大公众的日常行为,作为一个计算机网络用户来说要求信息是具有实效性和真实性的,因此网上信息的安全性和保密性是一个至关重要的话题,本设计主要是针对用户信息的安全保密性、SQL注入式攻击的有效防止方法做进一步的研究,还有就是对于现今网站资源存在的一些安全漏洞做出相应的研究和安全配置,达到促使ASP网站安全的目的。 本设计的中心思想是帮合法的ASP网站做出几个用于其安全的安全模块,可以直接调用,其次是提出一些用于ASP网站的意见,以用于增加其的安全性,达到ASP网站安全的目的。 1.3 本课题的研究方法本课题总体思想是结合书本和实际对ASP网站安全性做出一些规划性意见,能直观有效的看待现今网站安全的一些问题所在;再者就是设计几个用于ASP网站信息安全的模块(用于用户注册信息和客户端非法参数提交进行加密的RSA算法加密模块、用户登录的图片验证码模块和一种常见的防SQL注入模块),使用户可以直接调用,具有简洁方便的特性,以达到增强ASP网站安全性的目的。 2 开发技术和环境2.1 RSA加密算法2.1.1 RSA加密算法的发展RSA公开密钥加密算法是 在20世纪70年代提出的,到现在已经得到了广泛认可和应用。到21世纪,网络或电子安全领域的各方面已经发展了较为完备的国际规范标准,RSA加密算法作为最重要的公开密钥算法,在各领域得到了广泛的应用。 2.1.2 RSA加密算法的描述RSA算法可以描述如下: 1、选取两个保密的大素数p和q,令n=p×q,Φ(n)=(p-1)(q-1), Φ(n)为n的欧拉函数值,也就是所说的模; 2、取与(p-1)×(q-1)互素的整数e,由方程d×e=1 (mod (p-1)×(q-1))解出d; 3、二元组(e,n)作为公开密钥,二元组(d,n)作为私有密钥. <加密解密> b=ae mod n,c=bd mod n(其中a为明文,c为密文) 2.1.3 RSA加密算法的可行性虽然RSA加密运算的速度比较慢,但是在PC性能发展越来越好的今天,对于几千字节的数据进行一次几百位密钥的RSA加密,所消耗的时间应该是可以接受的。下面结合大数运算程序的调试,从理论上简单的分析消耗时间。在一台普通配置的PC机上对一个整数进行幂模运算,因为公开密钥的e通常取的较小,所以指数取一个小整数,比如C353,模一个70字节长的整数(140位十六进制,大数单元以线性组方式实现,对应到RSA算法中,这相当于约560bit的n),调试一个函数测试,按初等数论中的知识对程序进行算法优化,最终在一台配置为AMD Athron2800+,外频333MHZ,物理内存512MB的PC上测试需要约45毫秒时间。如果按这种速度,逐字节对1KB的数据进行同样的运算,所消耗的时间理论上为45毫秒的1024倍即约45秒。这个时间并不是非常长。 2.2 ASP技术2.2.1 ASP技术的原理ASP技术的原理首先是客户端向服务器端提出HTTP的请求,然后IIS接受其客户断提出的请求,随后调用ASP引擎,由此得出相应的ASP文件并且执行JavaScript或VBScript,最后通ActiveX组件ADO访问数据库,然后根据数据库的结果自动生成HTML页面直接去响应客户发出的的请求。其原理图如图1: 图1 ASP技术原理图 2.2.2 ASP技术的含义1、Active:ASP运用了微软公司的ActiveX技术,ActiveX技术是现在Microsoft软件的一项重要基础,它采用封装对象和程序调用对象的技术,这样可以简化编程以加强程序间合作。ASP本身封装了一些基本的组件和常用组件,许多公司也开发了很多实用组件。只要可以在服务器上安装这些组件,通过访问组件便可以快速地建立自己的WEB应用。 2、Server:ASP运行在服务器端,这样就不必担心浏览器是否支持ASP所使用的编程语言。ASP的编程语言可以是VBScript和JavaScript。VBScript是VB的一个简集,会VB的人可以很方便的快速上手。然而Netscape浏览器不支持客户端的VBScript,所以,看到的是ASP生成的HTML代码,而不是ASP程序代码。这样就可以防止别人抄袭程序。 2.2.3 ASP技术的特点1、使用VBScript 、JavaScript等简单易懂的脚本语言的同时结合HTML代码,可迅速地完成网站的应用程序。 2、不用去编译,容易编写,可以在服务器端直接执行。 3、与浏览器无关,用户端只需要使用可执行HTML码的浏览器,便可浏览ASP所设计的网页内容。ASP所使用的脚本语言VBScript 和JavaScript均在WEB服务器端执行,用户端的浏览器不需要执行这些脚本语言。 4、ASP可以与任何ActiveX scripting语言相容。除了可使用VBScript或JavaScript语言来设计外,还可以通过plug-in的方式,使用由第三方所提供的其他脚本语言。 5、ASP的源程序不会被传到客户浏览器,因此可以避免所写的源程序被他人窃取和修改,这样也就提高了程序的相对安全性。 2.3 结构化查询语言SQLSQL全称是“结构化查询语言(Structured Query Language)”,最早的是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEM R开发的一种查询语言,它的前身是SQUARE语言。SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言,得到了广泛的应用。 2.3.1 SQL语言的特点1、一体化的语言风格:此项包括数据库的创建、更改、查询、定义模式、查询数据库以及维护数据库和安全控制等,为数据库提供了良好的开发环境。 2、高度非过程化:在运用SQL语言访问数据库时,用户不必一步一步去告诉计算机怎么去工作,而是告诉它要完成什么,也就是说可以直接交给系统由系统自动去完成。 3、语言简洁明了:SQL语言的命令不是很多且语法简单,是一种描述性语言,因此易学易懂。 4、使用方式较多:SQL语言可以以命令方式交互使用,也可以嵌入到程序设计语言中使用。目前很多开发工具都将SQL语言直接融入到自身的语言中,使用起来非常方便。 2.3.2 SQL语言的组成SQL语言按其功能,可分为以下几个组成部分: 1、数据定义语言:实现定义、修改和删除数据库对象的功能。 2、数据操纵语言:实现查询数据的功能。 3、数据控制语言:实现控制用户对数据库的操作权限的功能。 4、数据查询语言:实现查询数据库的功能。 2.4 开发环境本设计的开发环境为个人计算机一台,Windows2003系统,SQL SERVER 2000数据库等相关软件。 3 需求分析3.1 用户需求作为一个访问网站资源的用户来说,个人信息的保密性和完整性是最重要的,进而要求网站最大限度的安全。因此,首先需要设计出几个基于ASP网站的安全模块,其次是需要了解一些关于网站或数据库安全的辅助说明和一些安全配置问题。要求可直接在ASP网站中调用这些模块,并且具有实用、简洁的功能。 |
本站发布的计算机毕业设计均是完整无错的全套作品,包含开题报告+程序+论文+源代码+翻译+答辩稿PPT |
本文选自计算机毕业设计http://myeducs.cn |