网站验证码的设计和实现

网站验证码的设计和实现

ID:34610498

大小:575.09 KB

页数:7页

时间:2019-03-08

网站验证码的设计和实现_第1页
网站验证码的设计和实现_第2页
网站验证码的设计和实现_第3页
网站验证码的设计和实现_第4页
网站验证码的设计和实现_第5页
资源描述:

《网站验证码的设计和实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《网站验证码的设计与实现》开发案例2012.12.23王琢一、软件功能为了防止网站被非法登陆,网站一般通过验证码的方式,防止黑客用软件非法登陆。验证码一般采用干扰后的图像显示,人可以识别,但机器识别有困难。本案例用VisualC#.NET开发一个网站的验证码生成软件,并在网页上测试该软件的有效性。二、软件开发过程注意,以下开发步骤,在使用时最好边制作边运行,而不能都做完后再运行,这样很难发现问题,发现了也难以排除问题。1.打开VisualC#.NET2010,通过“文件”/“新建”/“网站”,打开“新建网站”对话框,如图1所示。选择“ASP.NET网站”,在“Web位置”选择保存网站的

2、目录,单击确定按钮。图1新建网站2.建立ValidateImage.ashx文件右击解决方案名称,在弹出的菜单中选择“新建项目”,打开“添加新项”对话框,选择“一般处理程序”,文件名称改为“ValidateImage.ashx”,单击“添加”按钮。如图2所示。图2添加.ashx程序打开ValidateImage.ashx文件,并按照下列代码输入程序。<%@WebHandlerLanguage="C#"Class="ValidateImage"%>usingSystem;usingSystem.Web;usingSystem.IO;usingSystem.Drawing;publiccl

3、assValidateImage:IHttpHandler,System.Web.SessionState.IRequiresSessionState{publicvoidProcessRequest(HttpContextcontext){context.Response.Cache.SetCacheability(HttpCacheability.NoCache);stringvalid="";//定义随机数字//生成包含验证码的图片MemoryStreamms=Create(outvalid);//存储在session中的验证码,用于验证context.Session["vali

4、dateImage"]=valid;//置空输出流context.Response.ClearContent();//输出流格式context.Response.ContentType="image/png";//输出context.Response.BinaryWrite(ms.ToArray());context.Response.End();}publicboolIsReusable{get{returnfalse;}}//用来产生2位数的随机数分配的方法privatestringRndNum(intVcodeNum){stringVchar="1,2,3,4,5,6,7,8,9

5、,a,b,c,d,e,f,g,h,i,j,k,m,n,p,q"+",r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,S,T,U,V,W,X,Y,Z";//拆分到数组中string[]VcArray=Vchar.Split(newChar[]{','});//收集随机数stringVNum="";//记录最后随机值,尽量避免同一随机数inttemp=-1;Randomrand=newRandom();//通过一个简单的算法,以确保不同的随机编号for(inti=1;i

6、newRandom(i*temp*unchecked((int)DateTime.Now.Ticks));}intt=rand.Next(55);if(temp!=-1&&temp==t){returnRndNum(VcodeNum);//如果获得随机数重复,然后递归调用}temp=t;//随机数中位数加一VNum+=VcArray[t];}returnVNum;}//生成随机数,并将其写入图像文件publicMemoryStreamCreate(outstringVNum){VNum=RndNum(3);BitmapImg=null;Graphicsg=null;MemoryStre

7、amms=null;System.Randomrandom=newRandom();Color[]c={Color.Black,Color.Red,Color.DarkBlue,Color.Green,Color.Brown,Color.DarkCyan,Color.Purple};string[]fonts={"Verdana","MicrosoftSansSerif","ComicSansMS","Arial","宋体"};Img=newB

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。