ASP.NET MVC 登录验证码
图片验证码HTML页面:
<div style="float: left; width: 65%"><input class="ipt" id="verifycode" maxlength="4" type="text" placeholder="图片验证码"></div><div style="float: left; width: 35%"><img id="login_verifycode" class="img_verifycode" src="/Login/VerifyCode" width="100" height="30" alt="点击切换验证码"title="点击切换验证码" style="cursor: pointer; padding-top: 9px; padding-left: 9px;" /></div>
LoginController.cs
//生成验证码[HttpGet]public ActionResult VerifyCode(){return File(new VerifyCode().GetVerifyCode(0,0,0), @"image/Gif");}
VerifyCode.cs
public byte[] GetVerifyCode(int width, int height, int length){int codeW = width;int codeH = height;int codeL = length;//设置默认最小值if (codeW < 80){codeW = 80;}if (codeH < 30){codeH = 30;}if(codeL < 4){codeL = 4;}string chkCode = string.Empty;//噪点的颜色列表Color[] color = {Color.Black,Color.Red,Color.Blue,Color.Green, Color.Orange, Color.Brown, Color.Brown, Color.DarkBlue };//字体列表string[] font = { "Times New Roman" };char[] character = { '2', '3', '4', '5', '6', '8', '9', 'a', 'b', 'd', 'e', 'f', 'h', 'k', 'm', 'n', 'r', 'x', 'y', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M', 'N', 'P', 'R', 'S', 'T', 'W', 'X', 'Y' };Random random = new Random();//生成随机的验证码for (int i = 0; i < codeL; i++){chkCode += character[random.Next(character.Length)];}WebHelper.WriteSession("session_verifycode", Md5Helper.MD5(chkCode.ToLower(),16));//创建画布Bitmap bmp = new Bitmap(codeW, codeH);Graphics g = Graphics.FromImage(bmp);g.Clear(Color.White);//画噪线 for (int i = 0; i < 1; i++){int x1 = random.Next(codeW);int y1 = random.Next(codeH);int x2 = random.Next(codeW);int y2 = random.Next(codeH);Color clr = color[random.Next(color.Length)];g.DrawLine(new Pen(clr), x1, y1, x2, y2);}//画验证码字符串 for (int i = 0; i < chkCode.Length; i++){string fnt = font[random.Next(font.Length)];Font ft = new Font(fnt, 16);Color clr = color[random.Next(color.Length)];g.DrawString(chkCode[i].ToString(), ft, new SolidBrush(clr), (float)i * 18, (float)0);}//将验证码图片写入内存流,并将其以 "image/Png" 格式输出 MemoryStream ms = new MemoryStream();try{bmp.Save(ms, ImageFormat.Png);return ms.ToArray();}catch (Exception){return null;}finally{g.Dispose();bmp.Dispose();}}
点击图片切换验证码
//点击切换验证码$("#login_verifycode").click(function () {$("#verifycode").val('');$("#login_verifycode").attr("src", contentPath + "/Login/VerifyCode?time=" + Math.random());});
ASP.NET MVC 登录验证码相关推荐
- ASP.NET.MVC登录页面
ASP.NET.MVC登录页面 开发工具与关键技术:Visual Studio 2015 作者:昨夜星辰 撰写时间:2019年05月09日 一.我们学习MVC的时候做的第一步就是登陆,登陆是做项目必不 ...
- 【转】asp.net mvc生成验证码
ASP.NET MVC实现网站验证码功能 网站添加验证码,主要为防止机器人程序批量注册,或对特定的注册用户用特定程序暴力破解方式,以进行不断的登录.灌水等危害网站的操作.验证码被广泛应用在注册.登录. ...
- ASP.NET实现登录验证码
制作验证码主要是利用了C#的GDI绘制,效果如下图所示: html代码: <!DOCTYPE html> <html> <head><meta http-eq ...
- ASP.NET MVC 登录验证
好久没写随笔了,这段时间没 什么事情,领导 一直没安排任务,索性 一直在研究代码,说实在的,这个登录都 搞得我云里雾里的,所以这次我可能也讲得不是 特别清楚,但是 我尽力把我知道的讲出来,顺便也对自 ...
- 【无私分享:从入门到精通ASP.NET MVC】从0开始,一起搭框架、做项目(5.5) 登录功能的实现,完善登录功能...
索引 [无私分享:从入门到精通ASP.NET MVC]从0开始,一起搭框架.做项目 目录索引 简述 今天我们来完善我们的登录功能 项目准备 我们用的工具是:VS 2013 + SqlServer 20 ...
- Asp.net MVC 3实例学习之ExtShop(六)——登录对话框
登录对话框将使用jquery提供的对话框,所以不需要添加其它js文件.首先要为登录对话框添加一个表单模型.在Models目录下创建一个"AccountModels"类文件,然后添加 ...
- 程序猿修仙之路--数据结构之你是否真的懂数组? c#socket TCP同步网络通信 用lambda表达式树替代反射 ASP.NET MVC如何做一个简单的非法登录拦截...
程序猿修仙之路--数据结构之你是否真的懂数组? 数据结构 但凡IT江湖侠士,算法与数据结构为必修之课.早有前辈已经明确指出:程序=算法+数据结构 .要想在之后的江湖历练中通关,数据结构必不可少.数据 ...
- ASP.NET MVC自定义AuthorizeAttribute篇知识点讲解—登录限制
阅读目录 1.前言 2.AuthorizeAttribute登录特性解释 3.代码示例 1.前言 a.微软对ASP.NET的开发从WebForm到MVC的转变,已经正式过去5,6个年头,现在WebFo ...
- ASP.NET MVC使用Authorize过滤器验证用户登录
ASP.NET MVC使用Authorize过滤器验证用户登录.Authorize过滤器首先运行在任何其它过滤器或动作方法之前,主要用来做登录验证或者权限验证. 示例:使用Authorize过滤器实现 ...
最新文章
- webstorm中配置vue代码片段
- 昨天7月21号,笑笑又生病了
- java中的生产者消费者模式详解
- 2020年前端最火的技术是什么?
- C#将子窗体填充到父窗体的panel中
- 求cluster的质心坐标
- jmeter之线程组间变量的传递二
- 安卓4.2系统_五分钟了解 海贝(HiBy)R6PRO 安卓智能Hi-Fi播放器
- Android中的权限请求
- [渝粤教育] 西南石油大学 岩体力学 参考 资料
- 兔子如何吃掉狼和野猪的
- Protothreads:一个“蝇量级” C 语言协程库
- BiSET: Bi-directional Selective Encoding with Template for Abstractive Summarization翻译
- 扫描二维码进入小程序超详细过程
- 备份Ubuntu12.04 并制作成iso安装文件
- 【Oracle】一条SQL的一生
- java.lang.IllegalArgumentException报错
- H.264(H264)视频文件的制作
- 编写shell脚本判断当前主机的CPU生产商
- 全球及中国智能医疗产品行业发展态势及投资可行性研究报告2022-2027年