基于ASP.NET的Web应用开发技术实用教程[方玉燕][电子教案]项目3:图文验证

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

ClicktoaddTitleClicktoaddTitle4项目3:图文验证了解Web网站登录、注册中可能存在的安全问题;了解登录验证的必要性;掌握数字验证的原理;掌握图文验证的原理;掌握GDI+的基本知识。知识目标:ClicktoaddTitleClicktoaddTitle4技能目标:能完成登录验证的代码实现;能为网站选择合适的登录验证方式;项目3:图文验证ClicktoaddTitleClicktoaddTitle4本项目计划总学时4学时(1)情境介绍0.5学时(2)任务11.5学时(3)任务22学时项目3:图文验证ClicktoaddTitleClicktoaddTitle4情境介绍教师项目演示15分钟ClicktoaddTitleClicktoaddTitle4任务1实现数字验证为完成本任务,要完成以下几个方面的工作:1.随机数的生成;2.数字验证功能的实现。任务1实现数字验证ClicktoaddTitleClicktoaddTitle4实战演练15分钟任务1-1生成随机数任务1实现数字验证ClicktoaddTitleClicktoaddTitle4在图文验证中最关键的是随机数的生成,生成随机数使用的是.NET所提供的Random类。在创建Random对象时采用不同的构造函数产生不同的随机数生成器。Random类有二个构造函数重载:Random()和Random(Int32)Random.Next()方法生成随机数。任务1-1生成随机数任务1实现数字验证ClicktoaddTitleClicktoaddTitle4课内练习:把随机数生成类添加到网络通讯录中时间:15分钟任务1-1生成随机数任务1实现数字验证ClicktoaddTitleClicktoaddTitle4任务1-2实现数字验证功能实战演练20分钟任务1实现数字验证ClicktoaddTitleClicktoaddTitle4课内练习:为网络通讯录的登录和注册添验证码验证功能时间:15分钟任务1-2实现数字验证功能任务1实现数字验证ClicktoaddTitleClicktoaddTitle4任务2复杂的图文验证为完成本任务,要完成以下几个方面的工作:1.生成随机图文;2.实现图文验证功能。任务2复杂的图文验证ClicktoaddTitleClicktoaddTitle4实战演练20分钟任务2-1生成随机图文任务2复杂的图文验证ClicktoaddTitleClicktoaddTitle4任务2-1生成随机图文高效操作字符串在需要对字符串执行重复修改的情况下,与创建新的String对象相关的系统开销可能会非常昂贵。如果要修改字符串而不创建新的对象,则可以使用System.Text.StringBuilder类,创建StringBuilder类的实例化方法如下:StringBuilderMyStringBuilder=newStringBuilder(HelloWorld!);任务2复杂的图文验证ClicktoaddTitleClicktoaddTitle4任务2-1生成随机图文高效操作字符串StringBuilder类常用成员如下:Chars属性:获取或设置此实例中指定字符位置处的字符。Length属性:获取或设置当前实例长度。Append()方法:可用来将文本或对象的字符串表示形式添加到由当前StringBuilder对象表示的字符串的结尾处。Remove()方法:从当前StringBuilder对象中移除指定数量的字符。任务2复杂的图文验证ClicktoaddTitleClicktoaddTitle4任务2-1生成随机图文使用字节流流是一个数据字节序列,是两个端点之间的管道,它被用于访问文件的内容。在.NET中提供Stream类来读写文件或内存中的文件数据流。Stream类是一个抽象类,它提供了.NET中所有流类的基本功能。FileStream、MemoryStream和BufferedStream这三个类从Stream类继承而来,都属于System.IO命名空间,常用主要FileStream和MemoryStream这两个类。任务2复杂的图文验证ClicktoaddTitleClicktoaddTitle4任务2-1生成随机图文使用字节流FileStream类主要用于文件系统上的文件进行读取、写入、打开和关闭操作。FileStream类基本用法。stringoverview=Mostcommercialapplications,suchas...;FileStreamconduit=newFileStream((Overview.txt,FileMode.Create);byte[]encodedOverview=newUTF8Encoding(true).GetBytes(overview);conduit.Write(encodedOverview,0,encodedOverview.Length);conduit.Close();任务2复杂的图文验证ClicktoaddTitleClicktoaddTitle4任务2-1生成随机图文使用字节流MemoryStream类用于在内存中写入、读出数据,存储在内存中的数据不会被永久保存。任务2复杂的图文验证ClicktoaddTitleClicktoaddTitle4任务2-1生成随机图文GDI+简介1)Graphics类Graphics类提供将对象绘制到显示设备的方法。2)Pen类定义用于绘制直线和曲线的对象。3)Brush类定义用于填充图形形状(如矩形、椭圆、饼形、多边形和封闭路径)内部的对象。4)Bitmap类Bitmap类用于处理由像素数据定义的图像对象。任务2复杂的图文验证ClicktoaddTitleClicktoaddTitle4课内练习:生成中英文验证码时间:15分钟任务2-1生成随机图文任务2复杂的图文验证ClicktoaddTitleClicktoaddTitle4任务2-2实现图文验证功能实战演练20分钟任务2复杂的图文验证ClicktoaddTitleClicktoaddTitle4课内练习:为网络通讯录登录和注册添验证码验证功能时间:15分钟任务2-2实现图文验证功能任务2复杂的图文验证ClicktoaddTitleClicktoaddTitle4课后练习:1.在Web开发中为什么要增加验证码功能?目前各类论坛中经常出现帖子“灌水”的现象,请您设计一个方案,避免这个现象。2.在.NET平台中随机数生成是由Random类来生成,但是该类不是真正的随机数生成类,而称为伪随机数生成器,请问为什么?如果想生成十组10~100不同的随机数,请问应该如何实现?3.现在很多小说网上,最新章节的内容问题是以图片的形式显示在网页上,而作者是以文本的方式上传的,请写出设计流程,如果可以请写出实现代码。

1 / 22
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功