asp.net如何利用ashx生成图形验证码的实例

这篇文章主要介绍了asp.net使用ashx生成图形验证码的方法,结合实例形式分析了asp.net生成图形验证码的步骤、实现方法与相关注意事项,需要的朋友可以参考下

本文实例讲述了asp.net使用ashx生成图形验证码的方法。分享给大家供大家参考,具体如下:

验证码的好处不用我多说,你们都懂的。我在网上看到有人把验证码直接写在aspx页面里,也就是说这种方式请求验证码等于请求一个页面,这样做很不科学。如下所示

  1.  

登录后复制

这个代码看着就觉得写代码的人比较欠揍,代码写成这样子着实郁闷。验证吗也不写点script做下切换。

下面我介绍一种方式来实现这样的功能

1. 写个ashx生成图形验证码

  1. using System;using System.Collections;using System.Data;using System.Linq;using System.Web;using System.Web.Services;using System.Web.Services.Protocols;using System.Xml.Linq;using System.Web.SessionState;using System.Drawing;namespace usechecknum.ashx{  ///   /// $codebehindclassname$ 的摘要说明  ///   [WebService(Namespace = "http://tempuri.org/")]  [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]  public class doCreateNum : IHttpHandler,IRequiresSessionState  {    public void ProcessRequest(HttpContext context)    {      context.Response.ContentType = "text/html";      string checkCode = GetValidation(5); // 产生5位随机验证码字符      context.Session["Code"] = checkCode; //将字符串保存到Session中,以便需要时进行验证      System.Drawing.Bitmap image = new System.Drawing.Bitmap(70, 22);      Graphics g = Graphics.FromImage(image);      try      {        //生成随机生成器        Random random = new Random();        //清空图片背景色        g.Clear(Color.White);        // 画图片的背景噪音线        int i;        for (i = 0; i 

    2. 在页面上显示验证码,因为我们生成的是图形,所以可以直接写在asp.net如何利用ashx生成图形验证码的实例标签里,我们只要写段简单的脚本就可以点击鼠标切换验证码了


    nbsp;html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  <span class="pun">验证码的使用</span>  function changeCode() {    var imgNode = document.getElementById("vimg");    imgNode.src = "ashx/doCreateNum.ashx?t=" + (new Date()).valueOf(); // 这里加个时间的参数是为了防止浏览器缓存的问题  }    
  2. 登录后复制

  3. 说了半天,该是时候看看生成的验证码长什么样了

  4. asp.net如何利用ashx生成图形验证码的实例

  5. 以上就是asp.net如何利用ashx生成图形验证码的实例的详细内容,更多请关注【创想鸟】其它相关文章!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

点点赞赏,手留余香

给TA打赏
共0人
还没有人赞赏,快来当第一个赞赏的人吧!
    编程技术

    C#如何使用LibUsbDotNet实现USB通信的示例详解

    2025-3-3 11:55:23

    编程技术

    C#中的正则表达式如何验证中文字符的实例

    2025-3-3 11:56:32

    0 条回复 A文章作者 M管理员
    欢迎您,新朋友,感谢参与互动!
      暂无讨论,说说你的看法吧
    个人中心
    购物车
    优惠劵
    今日签到
    私信列表
    搜索