c#验证码实现~_第1页
c#验证码实现~_第2页
c#验证码实现~_第3页
c#验证码实现~_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

验证码页面的前台代码默认即可不用管它,只需要要将其后台代码改为如下即可。 验证码生成文件:validate.aspx.cs using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.IO; using System.Drawing; using System.Drawing.Imaging; using System.Drawing.Drawing2D; public partial class validate : System.Web.UI.Page private Bitmap validateimage; private Graphics g; protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) string VNum = MakeValidateCode(); Session“VNum“ = VNum; ValidateCode(VNum); public void ValidateCode(string VNum) validateimage = new Bitmap(42, 15, PixelFormat.Format24bppRgb); /生成图片的长和高 g = Graphics.FromImage(validateimage); g.FillRectangle(new LinearGradientBrush(new Point(0, 0), new Point(110, 20), Color.FromArgb(240, 255, 255, 255), Color.FromArgb(240, 255, 255, 255), 0, 0, 200, 200); g.DrawString(VNum, new Font(“arial“, 9), new SolidBrush(Color.Red), new PointF(1, 0); /上面的一句用来设定:验证码的字体大小、颜色、图片字前面空的格数 g.Save(); MemoryStream ms = new MemoryStream(); validateimage.Save(ms, System.Drawing.Imaging.ImageFormat.Gif); Response.ClearContent(); Response.ContentType = “image/bmp“; Response.BinaryWrite(ms.ToArray(); Response.End(); string MakeValidateCode() char s = new char 2,3,4,5,6,7,8,9, 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,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z ; /剔除了部分难以辨别的字符,还可加入汉字等字符 string num = “; Random r = new Random(); for (int i = 0; i 之间就 可以了) 注意:有一点要说明,当点击刷新时,validate.asp?后面一定要有一个参数,若没有这个无效 的参数,程序会认为你请求的是同一个文件,因而不会刷新的。这里的参数 abc是个随意的,只 起改变请求文件的作用。 以下为校验验证码是否输入正确的语句,放在Login.aspx.cs文件中 protected void Button1_Click(object sender, EventArgs e) string Time = DateTime.Now.ToString(); string ip = Request.UserHostAddress.ToString(); Sqlselete ss = new Sqlselete(); SqlInsert sl = new SqlInsert(); string text = this.TextBox1.Text.ToString();/获得用户输入的验证码 string chkcode = Session“validate“.ToString(); /获取系统生成的验证码 if (username.Text.Trim() = “) Response.Write(“alert(请输入帐号!); window.location.href=Login.aspx“); if (password.Text.Trim() = “) Response.Write(“alert(请输入密码!); window.location.href=Login.aspx“); if (string.IsNullOrEmpty(text) Response.Write(“alert(请输入验证码!); window.location.href=Login.aspx“); else if (chkcode != chkcode.ToUpper() /如果系统生成的不为大写则转换成大写形式 chkcode = chkcode.ToUpper(); if (text.ToUpper().Trim() = (chkcode.Trim() /将输入的验证码转换成大写并与系 统生成的比较 string UserName = this.username.Text.Trim(); string Password = password.Text.Trim(); if (ss.Login(UserName, Password) = false) /对账户密码进行验证 string State = “登录失败“; Response.Write(“alert(帐号或密码错误!)“); else Response.Write(“alert(登录成功!)“); Session“UserName“ = UserName; /记录用户名,可在其它模块中使用 用法: aaa = Session“UserName“.ToString() /以下的这几语句就是登入之后的操作了 string tt = “ qminoa = window.open(Default.aspx“ + “ + “,toolbar=no,menubar=no,titlebar=yes,directories=no,resizable=yes,status=yes,fullscreen =no,top=0;left=0,width=900,height=700);“; Response.Write(“); Response.Write(tt); Response.Write(“qminoa.moveTo(0,0);“); Response.Write(“qminoa.resizeTo(screen.availWidth,screen.availHeight);“); R

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论