资源预览内容
第1页 / 共38页
第2页 / 共38页
第3页 / 共38页
第4页 / 共38页
第5页 / 共38页
第6页 / 共38页
第7页 / 共38页
第8页 / 共38页
第9页 / 共38页
第10页 / 共38页
亲,该文档总共38页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
.ASP583基于ASP网站的安全性研究3 需求分析3.1 用户需求作为一个访问网站资源的用户来说,个人信息的保密性和完整性是最重要的,进而要求网站最大限度的安全。因此,首先需要设计出几个基于ASP网站的安全模块,其次是需要了解一些关于网站或数据库安全的辅助说明和一些安全配置问题。要求可直接在ASP网站中调用这些模块,并且具有实用、简洁的功能。3.2 功能需求系统功能主要包括以下几个方面:一是用户注册加密信息,用户注册时用RSA算法加密后直接存入数据库;二是登录模块设计,主要采用了验证码技术,从而可以防止不法用户用软件频繁注册,频繁发送不良信息等。三是防SQL注入模块,是对客户端提交的变量参数进行仔细地检测。对客户端提交的变量进行检查以防止SQL注入,有各种方法,发现客户端提交的参数中有“exec、insert、select、delete、from、update、count、user、add、net”等用于SQL注入的常用字符时,立即停止执行ASP并给出警告信息或转向出错页面。本设计的用户主要是针对合法的ASP网站,帮助他们实现网站安全性能。在使用时其可以直接调用本设计的安全模块,达到用户信息的完整性,保密性和不可否认性。3.2.1用户注册模块本模块主要用于用户注册信息的安全性,用户注册时用RSA加密算法直接加密用户信息存入数据库,用户注册信息包括用户名、密码、确认密码、联系电话、邮箱、QQ、公司名称和补充说明。用户注册时如有填错注册信息,则转入错误页面以引导用户填写正确的注册信息,比如密码输入不一致,QQ不为数字或邮箱格式输入有错误。如用户填写所有信息均符合要求则注册成功,此模块对用户信息采用RSA加密算法进行加密后存入数据库。在数据库里可看到乱码的注册信息,他人想通过数据库查看用户信息是不可行的,也就起到了保密的作用。3.2.2用户登录模块此模块采用图片验证码的形式以增强用户登录的安全性。所谓验证码,就是将一串随机产生的数字或符号,生成一幅图片,图片里加上一些干扰象素,用户肉眼识别其中的验证码信息,输入表单提交网站验证,验证成功后才能使用某项功能。验证码一般放在会员注册、留言本等所有客户端提交信息的页面,要提交信息,必须要输入正确的验证码,从而可以防止不法用户用软件频繁注册,频繁发送不良信息等。普通的客户端交互,如留言本、会员注册等仅是按照要求输入内容,但网上有很多攻击软件,如注册机,可以通过浏览WEB,扫描表单,然后在系统上频繁注册,频繁发送不良信息,造成不良的影响,或者通过软件不断的尝试,盗取你的密码。我们通过使用验证码技术,使客户端输入的信息都必须经过验证,从而可以解决这个问题,以达到相应的安全目标。3.2.3防SQL注入模块本模块是对客户端提交的变量参数进行仔细地检测以防止SQL注入,当发现客户端提交的参数中有“exec、insert、select、delete、from、update、count、user、add、net”等用于SQL注入的常用字符时,立即停止执行ASP并给出警告信息或转向出错页面,同时对客户端提交的非法参数加密后存入数据库。另外此模块实现了RSA算法的解密功能,管理员在登录后可查看解密了的非法注入信息,包括注入详细信息和注入时间。3.3 性能要求3.3.1操作性能模块应当操作比较简便,界面比较直观,维护比较简便。管理员登录后可很直观的查看注入日志。3.3.2调用性能其他ASP网站用户调用此模块时应简便快捷。4 安全模块的设计与实现4.1 安全模块的实现过程4.1.1注册加密模块实现过程基于ASP网站的安全性研究与实现摘 要网络已经影响到社会的政治、经济、文化、军事和社会生活各个方面。以网络方式获取信息和交流已成为现代信息社会的一个重要特征。人们访问网络获取信息最直接的方式就是通过登录和访问网站,以获取可靠的信息。当今大多数网站使用的是ASP,用户在登录以及存储个人信息时存在着不少安全隐患,因此,本设计是对ASP网站安全性做出进一步的判断和强化,最大限度的做到保护用户信息的完整性和保密性,主要涉及到用户信息的加密解密、防SQL注入式攻击的安全模块,另外针对ASP网站的一些漏洞提出一些安全辅助性设计和安全配置。本文对上述安全模块设计和安全性辅助设计做出了详细的说明。关键词:ASP;加密;解密;防SQL注入摘要:本文介绍了北京航空航天大学计算机学院本科算法课程建设的现状,分析了目前教学中存在的问题,总结了教学方法上的实践经验,并对算法课程的建设提出了一些思考。关键词:算法;课程建设;实践1算法课程建设的现状1.1课程的定位算法与数据结构(2)主要讲述基本的算法设计方法以及对算法的时间、空间和其他方面进行度量分析。算法,是程序设计的灵魂。著名的PASCAL之父、结构化程序设计的首创者、1984年“图灵奖”获得者尼克劳斯沃斯曾说过:“数据结构+算法=程序”。这一公式在结构化程序设计已相当成熟的今天仍被视为经典。由此可见,算法在计算机科学中具有不可替代的重要地位。据统计,美国2007年综合排名前50位的大学,欧洲名校如牛津、剑桥等均开设了算法课作为计算机专业的必修课。不仅如此,美国、欧洲一些普通高校的计算机专业也均开设了算法课。中国国家211工程重点建设的100所高等院校中有多于半数院校的计算机专业开设了算法课,国内的一流高校也将算法设计与分析作为计算机专业本科生培养的重要环节。算法课程是高等学校计算机专业重要的专业基础课程之一,是计算机程序设计的重要理论和实践基础,是目前国内计算机专业研究生招生考试的首选专业基础课程,其独特的应用价值也使其成为信息类专业的重要课程之一。算法课的先导课为离散数学、程序设计语言基础和数据结构。1.2课程的目标开设算法课的目标在于使学生通过该课程的学习,能够运用课程所讲授的概念和方法更好地进行算法设计,能够对已有的算法和新设计的算法进行一般的效能和性能上的分析,并进一步提高程序设计的能力。学好该课程的主要目的是打好专业基础,提高计算机理论和应用水平。因此,我们要求学生能够掌握各种基本的算法设计方法(包括归结法、分而治之法、贪心法、动态规划和概率法等),并能够掌握基本的算法分析方法(算法的时间复杂度与空间复杂度分析),并在学习已有知识的基础上,加强思考和实践。1.3课程的主要讲授内容根据北航学生的实际情况,算法课程目前分为18学时,以课堂讲授为主,辅以参考资料阅读以及每章的课后作业和练习题。授课内容分为七章,分别为:算法分析的基础知识、归结法和分而治之法、贪心算法、动态规划算法、概率算法、下界分析和求解NP完全问题的算法设计。重点讲授内容包括:算法的控制结构、算法的复杂性分析、归结法和分而治之法、贪心算法的基本思想及特点、设计动态规划算法需要具有的前提及一般设计思路、主要的下界计算方法、回溯法和局部搜索算法等。1.4课程的授课效果通过课堂上学生的听课情况、对问题的反应程度以及对小测验的完成情况,我们可以看出部分学生对该课的兴趣和重视程度较高、预习工作做得较好,能将老师当堂所讲的内容消化和掌握;大多数学生能够在课堂上对老师所讲解的内容加以理解,并能在课后加以复习并掌握;一些学生尽管没有在课堂上对内容理解和消化,但仍能通过下课向老师提问或课后发Email给老师的方式向老师询问未理解的问题来加以反馈。从课后作业的完成质量以及期末考试的卷面成绩来看,绝大多数学生能在学完算法课之后对计算机算法有一定的理解,并具备一定的算法设计与分析能力,达到该课程的基本要求,甚至有一些学生就此对算法产生了较浓厚的兴趣,并能在以后的学习时间里继续深入学习算法。课程达到了较好的授课效果。1.5教学过程中发现的问题在教学过程中,学生普遍暴露出不愿深入思考、不爱动手实践的问题。尽管这些原则在平时的授课过程中再三地被强调,但能按照老师建议去做的人并不多,仅限于少数对算法有较大兴趣的学生。从试卷情况来看,一些同学仍然缺乏将算法思想应用于同类问题求解中的能力,出现了同类问题不知道用同类算法求解的情况。究其原因在于未能将算法思想深入理解,做过的习题较少,对于同类问题无从下手。为应付考试而死记硬背某些算法,这是学习算法的大忌。另外,部分学生对先导知识的掌握还有欠扎实,对基础知识和概念的掌握程度成了一些算法内容理解的瓶颈。2教学方法上的一些实践经验2.1提高学生学习基础课程的兴趣从一定角度讲,兴趣是最好的老师,因此我们在讲述课程的过程中会经常从学生们感兴趣的问题入手,为他们创造易于理解问题、加深记忆的活跃的课堂气氛和环境。我们在介绍一个算法问题时,首先介绍问题的背景,如河内塔游戏、斐波那契数列等。在教学过程中,我们将本课程学科的发展历史、前沿知识和自己从事科研实践的体会与成果贯穿于教学中,例如蒙特卡洛概率算法与SAT问题等均是两位授课教师曾深入研究过的算法和问题。另外,我们还结合课程内容介绍了Google和Microsoft等知名IT公司的面试题目,激发学生对算法的兴趣,令学生积极思考并展开讨论。算法本身的概念与理论是抽象的,但具体问题又是实际的、易懂的、有趣的。在教学过程中,只有通过具体问题,引申出求解该问题的有效算法,同时有效借助多媒体教学灵活而快捷的特点,将抽象的算法具体化讲解,才能提高学生学习基础课程的兴趣。在每个问题的讲解过程中,我们尽量采用图文并茂的方式,将问题刻画得清楚明了,实践证明,该方法取得了较好的效果。2.2培养学生提出问题、分析问题和解决问题的能力在教学中,采用启发和探索式的教学方法,注重培养学生提出问题、分析问题和解决问题的能力。在教学中,我们本着一系列连贯的思路讲授学习内容,例如:当初某个算法问题是怎样提出来的;求解该问题的方法和策略是如何形成的;如何应用这些方法和策略来解决实际问题;对这些方法和策略做进一步的比较、分析和评价。2.3增强与学生的交流轻松活跃的课堂气氛是激发学生听课兴趣,进而达到良好听课效果的重要保证。在教学过程中,我们本着以学生为中心的原则,注重与学生的交流。通常一个问题、一个提示会达到良好的授课效果,实践证明,这种方式是有效的。为了对学生的基础知识掌握情况有全面的了解,我们会以调查问卷的方式获取每个学生的学习情况信息,通过一些简单易答的算法题,帮助学生巩固基础知识,使听课效果更佳。事实证明,通过调查问卷的开放性问题,我们了解了同学们大致的想法和对算法课的建议。另外,我们还鼓励学生课后通过Email等手段与老师展开交流,并听取学生的反馈意见,选取一些有代表性的问题在下一次课堂上讲述。2.4注重平时的考核方式算法课程的特点是逻辑思维性强。因此,必须通过典型例子强化一般性问题。同时,为避免同学中大量存在的“平时不学习,考试搞突击”现象的发生,我们注重对学生平时的考核,并主要采取课后作业的方式。为加强学生的动手实践能力,我们要求学生用某一种语言(C、C+、Java、Delphi等)对作业问题进行实现。通过适当调整课后作业在期末总成绩中的比重,督促鼓励同学自己动手进行编程实践,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号