生成ASP.NET网站验证码教学案例探讨

来源 :现代职业教育·高职高专 | 被引量 : 0次 | 上传用户:eire
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘           要]  ASP.NET动态网站开发是一门综合性很强的实践课程,其中图片验证码技术是该课程的重难点之一。针对中职学校学生的学习基础相对较为薄弱,通过任务驱动,使学生逐步深入,掌握如何调用预定义类生成验证码并在网页中插入生成的验证码图片。从而降低学习难度,为中职学校Asp.net动态网站开发的教学提供一种思路。
  [关    键   词]  ASP.NET;验证码;教学案例;任务驱动
  [中图分类号]  G712               [文献标志码]  A                      [文章编号]  2096-0603(2019)28-0099-03
   ASP.NET动态网站开发课程是我校软件与信息服务专业的职业能力核心课程,该课程是对学生之前学习的C#程序设计、数据库设计基础、网页设计等课程的综合应用,是一门综合性、实践性和难度都较高的课程。该课程主要包含的内容有服务器控件、内置服务器对象的使用、ADO.NET操作数据库等技术。
   图片验证码是一串为了防止恶意程序进行暴力破解密码等关键信息,由服务器端按一定算法生成的数字或字符,并将该验证码生成一幅图片,再对图片进行干扰处理[1]。验证码是动态网站开发中广泛使用且非常重要的一种安全技术,因此也是本课程的重点与难点之一。
   本文的教学案例针对中职学生的学习基础相对较为薄弱,通过任务驱动设置了三个课堂任务,使学生逐步深入,掌握如何调用预定义类生成验证码并在网页中插入生成的验证码图片,从而降低了学习难度,为中职ASP.NET动态网站开发的教学提供了一种思路。
   一、教学案例设计思想
   在教学案例的设计上,以“任务驱动式”、学生自主协作探究学习来进行设计。
   1.教学过程逐渐深入,结合中职学生的实际情况,让学生在实践中掌握所学知识的同时,通过小组讨论问题,培养学生独立分析问题、解决问题的能力。
   2.由教师根据学习任务先进行讲解与引导教学,通过任务驱动,让学生分组进行程序开发,通过学生自主协作探究体会影响验证码被破解的因素,同时认识到在实际开发中需要考虑安全与用户体验相结合[2]。
   3.根据中职学生的学习基础,提供常见的验证码核心类代码,体会调用代码生成验证码的过程,避免直接开发验证码,从而降低学习的难度。
   4.学生评价上,通过网页实时显示学生生成的验证码图片,采用直观方式来显示程序的执行效果,能够及时评估学生完成的情况,使师生得到及时反馈。
   二、教學重点与难点
   本案例中的教学重点是让学生掌握如何调用验证码核心类生成验证码。
   教学的难点是:
   1.理解生成验证码的底层代码原理。由于中职学生的基础相对薄弱,生成验证码的底层代码中涉及GDI、图片文件操作等,而学生只有理解其基本原理才能正确使用。
   2.如何将生成的验证码应用到实际网页开发中。仅仅调用底层代码生成验证码图片并不等于整个页面就开发好了,还需要结合具体实例让学生掌握完整的页面开发以及其中需要考虑的问题。
   三、生成验证码的核心类介绍
   在提供给学生的生成验证码VerificationCode类中包含的核心方法:CreateVerificationGraphic(string verificationCode,HttpContext context,int lineCount=25,int pointCount=100)[3]。该方法将生成的包含随机数字的字符串输出为图片[4]。参数VerificationCode是调用CreateVerificationCode(int length)方法生成的包含随机数字的字符串。参数context是用户通过浏览器请求数据时发送的请求报文。参数lineCount是绘制干扰线的数量,默认是25条。参数pointCount是绘制干扰点的数量,默认是100个。执行该方法时,除了将生成的包含随机数字的字符串输出为图片外,为了降低验证码图片被恶意程序识别的几率,还需在验证码图片上绘制若干随机位置的干扰线、干扰点,参考关键代码片段如图1所示。
   四、具体教学案例设计
   (一)案例描述
   在进行验证码开发的教学中,由于学生首次接触,且中职学生的专业基础相对薄弱,故要求学生直接开发验证码的难度较大。而且验证码开发的技术本身是属于比较常见的一种技术,因此在本案例中将会提供生成验证码的底层代码给学生,学生重点掌握如何调用、使用现有的验证码核心类生成验证码并应用到网页上。
   (二)任务划分
   本案例将教学内容分解为三个学习任务,让学生由浅入深掌握生成验证码的开发。
   1.任务1:调用验证码核心类生成验证码图片
   由生活中常见的验证码图片引入本课题,教师讲解验证码的基本原理以及生成验证码VerificationCode类中的核心方法,为了使学生更好地掌握生成验证码的基本原理,使用ASP.NET自带的Random类产生四位数的随机数,引导学生根据微课自主学习,将教师提供的VerificationCode类加入项目中,新建一个ASP.NET一般处理程序,尝试调用VerificationCode类中的核心方法生成验证码图片。右图是参考代码。    在对学生完成本学习任务的评价上,要求学生将生成的验证码图片保存并提交到FTP的指定路径下,由教师端制作的网页实时读取并显示学生生成的验证码图片,如图2所示。教师可以结合学生完成的情况进行评价、讲解,学生的学习结果也可以马上得到及时的反馈。
   课堂讨论环节:学生完成上述学习任务后,引导学生思考:使用ASP.NET自带的Random类产生随机数验证码有什么局限性?影响验证码被破解的因素有哪些?
   2.任务2:探究影响验证码被破解的因素
   提前将学生分成若干组使用不同的參数调用CreateVerificationGraphic方法生成验证码,每组参数生成3张验证码,通过微信扫一扫翻译的方式“破解”验证码,分别记录下人眼识别、微信翻译识别的验证码,最后通过探究尝试写出自己认为最合适的参数,以直观的方式探究影响验证码被破解的因素。
   第一组参数:即任务1中使用默认参数生成的验证码图片,绘制干扰线的数量为25,绘制干扰点的数量为100,如图3所示。
   第二组参数:绘制干扰线的数量为0,绘制干扰点的数量为0,即没有干扰线、干扰点,如图4所示。
   第三组参数:绘制干扰线的数量为50,绘制干扰点的数量为200,如图5所示。
   第四组参数:绘制干扰线的数量为100,绘制干扰点的数量为400,如图6所示。
   通过完成这项任务,加深学生对如何调用生成验证码底层代码的理解,体会从哪些角度去提高验证码的安全性,了解验证码的生成需要根据实际情况兼顾安全性与用户体验。
   课堂讨论环节:学生完成上述学习任务后,引导学生思考:如何将验证码图片加入网页中?
   3.任务3:将验证码图片加入网页中
   通过完成前面两个任务,学生掌握了通过调用预定义类生成验证码。接着,由教师提供一个登录页面的素材,引导学生将前端页面整合进项目中。在前端页面中,将验证码位置处的Image控件的ImageUrl设置为上述的一般处理程序即可,效果如图7所示。通过完成这个任务,使学生掌握如何将验证码图片插入到网页当中。
   扩展任务:在验证码旁边添加“看不清?换一张”的链接,实现点击链接在不刷新页面的情况下重新加载验证码。结合实际中常见的功能,通过扩展任务引导学有余力的学生进一步思考延伸开发有实际应用意义的切换验证码图片功能。
   通过完成上述三个任务,学生基本掌握了如何调用预定义类生成验证码图片,通过自主探究了解到影响验证码破解的因素,掌握了如何在网页中插入生成的验证码图片。
   五、结束语
   本案例通过任务驱动设置了三个课堂任务,使学生逐步深入,掌握如何调用预定义类生成验证码并在网页中插入生成的验证码图片。本案例为中职学校ASP.NET动态网站开发课程教学提供了一种思路,例如对于ADO.NET操作数据库中SqlHelper类的使用,考虑到中职学生的基础,也可以结合一些案例让学生从中学会如何调用已有封装好的类来实现功能,从而降低学习难度,使学生更容易上手。
   参考文献:
   [1]韩玉民.验证码技术研究及基于ASP.NET的实现[J].现代计算机(专业版),2009(8).
   [2]翁佩纯,马慧,张远海.以“任务驱动”的《面向对象程序设计》教学案例设计[J].现代计算机(专业版),2016(14):50-54.
   [3]panzemin1234.ASP.NET MVC实现网站验证码功能[EB/OL].http://blog.sina.com.cn/s/blog_5738dc350100lxns.html,2010-10-27.
   [4]国家863中部软件孵化器.ASP.NET从入门到精通[M].北京:人民邮电出版社,2015.
  ◎编辑 张 俐
其他文献
科学发展观是当今统领政治经济发展的重大战略指导思想。在这一思想指导下探讨国有企业社会责任,能够更好地促使国有企业履行好社会责任,提升国际竞争力,也是贯彻落实科学发
城市的发展,使人们的居住环境产生了较大的改变,现代人们居住的大部分都是楼房,在楼房中会使用到电梯,电梯的安全情况以及运作情况关系着业主的声明以及财产安全,所以人们对
目的:探讨使用微信平台对乳腺癌患者化疗间歇期间健康知识知晓率、PICC导管维护率、出院3天复查血常规依从性的影响.方法:选取2017年3—6月我科乳腺癌新辅助化疗患者100例,随
随着我国经济发展,以及人们生活质量的提升,电能需求也在与日俱增.为了满足如此庞大的电力需要,电厂需要维持设备的健康运行.而火力发电是目前我国电厂发电的主要方式,对热能
要音乐教育是实施素质教育的有效手段和不可或缺的方面。音乐作为艺术殿堂里最被大众广泛接受而在个人体验中越度最大的一门学科,一直以来都影响和激励着世代的人们在精神与
本文主要以Pearson积差相关探讨作弊行为对态度、知觉、情境、动机等各个变量间的相关情形,并对其相关情形的结果讨论之。
本文通过探讨口腔医务人员工作中存在的危险因素,提出执行标准化、制度化、科学化及普遍预防的管理体系,制定切实可行的口腔医务人员职业暴露防护的管理方案和措施,使口腔医
分析化学是以实验为基础的学科,教、学、做一体化教学模式在分析化学课程教学中被广泛认可和采用。随着成果导向教育模式改革的发展,教、学、做一体化教学模式,已成为教育工
目的:探讨胃管在小儿保留灌肠中的妙用.方法:将224保留灌肠患儿随机分成2组,实验组用胃管灌肠,对照组用小儿头皮针针管灌肠.观察2组灌肠后大便是否带血,来判断肠粘膜的损伤.
随着我国改革开放的不断发展与进步,中国正处于工业化、城市化进程中,社会经济迅速发展,科学信息技术不断完善与创新,大大促进了我国各行各业的进一步发展.尤其是二十一世纪