ASP.NET中登录页验证码的实现 分类: ASP.NET 2012-03-08 22:44 4936人阅读 评论(5) 收藏
2012-03-08 22:44
555 查看
在做一个登录页时,我们通常需要设置验证码,防止非法人员通过其他手段非法登录。在做一个页面的验证码时,我们需要先建立一个Active的Web页面,来随机的产生数字和字母,同时把产生的数字存储在Session中,传递给登录页,用来验证。并且定义一个画板,在Active页面绘出验证码的背景颜色,在Active页面的代码如下:
到此,就完成了一个动态产生验证码的全过程,并且完成验证的代码。
protected void Page_Load(object sender, EventArgs e) { //显示验证码 this.GenImg(this.GenCode(4)); Session["image"] = this.GenCode(4); Server.Transfer("Default.aspx"); //Console.WriteLine(this.GenCode(4)); } private string GenCode(int num) { string [] source={"0","1","2","3","4","5","6","7","8","9","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 code = ""; //创建Random类的实例 Random rd = new Random(); //获取验证码 for (int i = 0; i < num; i++) { code += source[rd.Next(0, source.Length)]; } //返回产生的验证码 return code; } //生成图片 private void GenImg(string code) { //定义一个画板 Bitmap myPalette = new Bitmap(60, 20); //在画板上定义绘图的实例 Graphics gh = Graphics.FromImage(myPalette); //定义一个矩形 Rectangle rc = new Rectangle(0, 0, 60, 20); //填充矩形 gh.FillRectangle(new SolidBrush(Color.Blue), rc); //在矩形内画出字符串 gh.DrawString(code, new Font("宋体", 16), new SolidBrush(Color.White), rc); //将图片显示出来 myPalette.Save(Response.OutputStream, ImageFormat.Jpeg); gh.Dispose(); myPalette.Dispose(); }当我们完成了,在Active页面动态的随机产生验证码以后,我们要在登录页接收,随机产生的验证码,并显示出来,代码如下:
protected void Page_Load(object sender, EventArgs e) { //设置btnimage控件的ImageUrl属性为验证码的页面 this.ImageButton1.ImageUrl = "Active.aspx"; } protected void Button1_Click(object sender, EventArgs e) { string Code =Session["image"].ToString().Trim(); //Console.WriteLine(Code); string Txtbox = this.TextBox3.Text.ToString().Trim(); if (Code==Txtbox.ToUpper()) { Response.Redirect("Result.aspx"); } else Response.Write("<script language='javascript'>alert('跳转失败!');</script>"); }
到此,就完成了一个动态产生验证码的全过程,并且完成验证的代码。
相关文章推荐
- ASP.NET 自定义URL重写 分类: ASP.NET 2014-10-31 16:05 175人阅读 评论(0) 收藏
- ASP.NET 自定义URL重写 分类: ASP.NET 2014-10-31 16:05 174人阅读 评论(0) 收藏
- 【ASP.NET开发】ASP.NET(MVC)三层架构知识的学习总结 分类: ASP.NET 2012-09-27 17:09 1985人阅读 评论(1) 收藏
- 【ASP.NET开发】ADO.NET调用带输出参数的存储过程 分类: ASP.NET 2012-09-10 21:16 1261人阅读 评论(1) 收藏
- 简单的ASP.NET无刷新分页 分类: ASP.NET 2012-05-06 02:09 655人阅读 评论(1) 收藏
- 解析ASP.NET Mvc开发之查询数据实例 分类: ASP.NET 2014-01-02 01:27 5788人阅读 评论(3) 收藏
- 解析ASP.NET Mvc开发之EF延迟加载 分类: ASP.NET 2014-01-04 01:29 4017人阅读 评论(1) 收藏
- 解析ASP.NET Mvc开发之删除修改数据 分类: ASP.NET 2014-01-04 23:41 3203人阅读 评论(2) 收藏
- 【ASP.NET开发】ASP.NET对SQLServer的通用数据库访问类 分类: ASP.NET 2012-09-20 11:17 2768人阅读 评论(0) 收藏
- 百度编辑器UEditor ASP.NET示例Demo 分类: ASP.NET 2015-01-12 11:18 346人阅读 评论(0) 收藏
- C++ 代码模拟登录淘宝、天猫、支付宝等电商网站的实现 分类: C/C++ 随笔杂文 2015-01-26 11:17 3787人阅读 评论(9) 收藏 举报 有关C++ 代码模拟登录淘宝、天猫、支
- 百度编辑器UEditor ASP.NET示例Demo 分类: ASP.NET 2015-01-12 11:18 347人阅读 评论(0) 收藏
- Laravel5.1 实现第三方登录认证(包括微博、QQ、微信、豆瓣) 2017-01-08 18:08 457人阅读 评论(0) 收藏 举报 分类: laravel框架(33) 目录(?)[
- DWZ和ASP.NET MVC等框架的冲突问题解决方案 分类: 技巧总结 2015-04-07 14:46 188人阅读 评论(0) 收藏
- 网站通用登录模块代码 分类: ASP.NET 2014-12-06 10:49 615人阅读 评论(0) 收藏
- 网络工作室暑假后第一次培训资料(ADO.NET创建访问数据集)整理 分类: ASP.NET 2012-10-05 20:10 911人阅读 评论(0) 收藏
- 网站通用登录模块代码 分类: ASP.NET 2014-12-06 10:49 614人阅读 评论(0) 收藏
- IIS上虚拟站点的web.config与主站点的web.config冲突解决方法 分类: ASP.NET 2015-06-15 14:07 60人阅读 评论(0) 收藏
- IIS上虚拟站点的web.config与主站点的web.config冲突解决方法 分类: ASP.NET 2015-06-15 14:07 59人阅读 评论(0) 收藏
- Jquery easy UI 上中下三栏布局 分类: ASP.NET 2015-02-06 09:19 368人阅读 评论(0) 收藏