使用ashx文件生成验证码图片

C#实现登录验证码  最近在开发中遇到要实现登录验证码的功能,在网上借鉴了一下并加以扩展,供大家分享.代码如下:///首先新建一个ValidateCode.ashx文件.using System;using System.Data;using System.Web;using System.Collections;using System.Web.Services;using System.Web.Ser 阅读详情
在vs2005中可以直接创建.ashx文件,其项目叫做一般处理程序,.ashx文件一般用来处理只有返回,二一般不回传的数据,比如动态生成图片,或者文字,以下为清清月儿博

客上转载的一个用ashx动态生成验证码图片的代码。

//绘制验证码图片Handler.ashx


<%@ WebHandler Language="C#" Class="Handler" %>

using System;
using System.Web;
using System.Drawing;
using System.Text;

public class Handler : IHttpHandler {
    int intLength = 5;               //长度
    string strIdentify = "Identify"; //随机字串存储键值,以便存储到Session中
    public Handler()
   {        
     }

   /// <summary>
    ///  生成验证图片核心代码
     /// </summary>
     /// <param name="hc"></param>
     public void ProcessRequest(HttpContext hc)
     {
         //设置输出流图片格式
        hc.Response.ContentType = "image/gif";
        
        Bitmap b = new Bitmap(200, 60);
        Graphics g = Graphics.FromImage(b);
         g.FillRectangle(new SolidBrush(Color.YellowGreen), 0, 0, 200, 60);
        Font font = new Font(FontFamily.GenericSerif, 48, FontStyle.Bold, GraphicsUnit.Pixel);
        Random r = new Random();

         //合法随机显示字符列表
         string strLetters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
        StringBuilder s = new StringBuilder();
         
        //将随机生成的字符串绘制到图片上
        for (int i = 0; i < intLength; i++)
        {
             s.Append(strLetters.Substring(r.Next(0, strLetters.Length - 1), 1));
            g.DrawString(s[s.Length - 1].ToString(), font, new SolidBrush(Color.Blue), i * 38, r.Next(0, 15));
        }

       //生成干扰线条
      Pen pen = new Pen(new SolidBrush(Color.Blue), 2);
        for (int i = 0; i < 10; i++)
       {
             g.DrawLine(pen, new Point(r.Next(0, 199), r.Next(0, 59)), new Point(r.Next(0, 199), r.Next(0, 59)));
        }
         b.Save(hc.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Gif);
         try
         {

             if (s.ToString() != null) hc.Session[strIdentify] = s.ToString(); //先保存在Session中,验证与用户输入是否一致
         }
         catch (Exception e)
         {
             
         }
         hc.Response.End();
 
    }
    
    /// <summary>
   /// 表示此类实例是否可以被多个请求共用(重用可以提高性能)
   /// </summary>
    public bool IsReusable
     {
        get
         {
            return true;
        }
    }


}

 <img width="100px" height="25px" src="Handler.ashx"/>

....

这里因为使用的是默认 *.asah处理文件类型,在machine.config文件中已经有此类型的默认注册,

 因为这里不需要注册


ASP.NET验证码图片的生成和使用(多种个示例文件,随你挑) ASP.NET验证码图片的生成和使用 注意:使用C#编写,(多种个示例文件,随你挑;注释我已经写的很详细) 如果你下载了觉得不值,请大家板砖拍我! 立即下载

相关推荐

先进半导体材料与器件Chapter3

Chapter3 异质结双极晶体管(HBT) 作者:毛茏玮 / Saint 掘金:https://juejin.im/user/5aa1f89b6fb9a028bb18966a 微博:https://weibo.com/5458277467/profile?topnav=1&wvr=6&is_all=1 GitHub:github.com/saint-000 知乎:https:/...

一个会写代码的烤鸭 5803

【C#】一般处理程序ashx生成验证码、绘制验证码,传递数据

注意:要使用Session需要引用System.Web.SessionState命名空间,让ashx类继承IRequiresSessionState 接口 <%@ WebHandler Language="C#" Class="BackImage" %> using System; using System.Web; using System.Drawing; using S...

南朋友的博客 357

PV-RCNN实战:如何在KITTI数据集上实现3D目标检测(附完整代码解析)

本文提供了在KITTI数据集上实战PV-RCNN 3D目标检测的完整指南,涵盖环境配置、数据预处理、模型训练与评估全流程。通过详细的代码解析和调参技巧,帮助读者掌握这一融合点与体素优势的经典3D目标检测模型,并实现从理论到实践的跨越。

weixin_29098391的博客 403

C# ASHX生产动态验证码

ASHX入口文件/// &lt;summary&gt; /// CheckCode 的摘要说明 /// &lt;/summary&gt; public class CheckCode : IHttpHandler, System.Web.SessionState.IRequiresSessionState { public void Process...

bjxhliu的博客 489

Spirent TestCenter 3.90吞吐测试全流程详解(附RFC 2544配置避坑指南)

本文详细解析了使用Spirent TestCenter 3.90进行网络吞吐测试的全流程,并提供了符合RFC 2544标准的配置指南与避坑要点。内容涵盖测试环境搭建、核心概念澄清、STC软件配置步骤、结果深度解读以及自动化脚本入门,旨在帮助网络测试工程师精准评估设备性能,规避常见配置陷阱。

weixin_42602368的博客 370

【K8S系列】Kubernetes 中 Pod 无法通过 Service 名称访问服务的 DNS 解析失败问题【已解决】

在 Kubernetes 中,Service 提供了一种稳定的方式,通过名称访问一组 Pod。当其他 Pod 无法通过 Service 名称访问服务,并且出现 DNS 解析失败时,通常会导致应用无法正常工作。本文将详细分析此问题的常见原因及其解决方案。

颜淡慕潇 1万+

ashx返回图片_使用ashx文件生成验证码图片

123usingSystem;4usingSystem.Web;5usingSystem.Web.SessionState;6usingSystem.Drawing;7usingSystem.Drawing.Imaging;8usingSystem.Text;910///11///ValidateImageHandler生成网站验证码功能12///13publiccla...

weixin_39568889的博客 164

uni-app - 在纯 JS 文件中调用自定义弹框组件 / 封装全局 API 调用弹框组件(解决小程序、APP 无法使用 document.body.appendChild 插入组件节点)适配全端

uni-app-在纯JS文件中调用自定义弹框组件/封装全局API调用弹框组件(解决小程序、APP无法使用document.body.appendChild插入组件节点)适配全端,uni-appappendChild怎么向小程序中插入节点,如何开发类似uni.showModal全局组件。h5端可以通过document.body.appendChild挂载,请问app跟微信小程序怎么弄,请问uniapp如何封装全局api调用弹窗组件?uniapp怎么设置所有页面共用的组件Uni

🏆 前端领域优质创作者 1万+

ashx返回图片_显示ashx图片

ascx aspx ashx asmx 文件的作用ascx aspx ashx asmx 文件的作用ascx:Ascx 是给予Web的用户控件(UserControl),一般是用来重用的,不能直接被访问只能插入aspx页面呈现.头部文件声明为控件文件,用户控件继承自System.Web.UI.UserCo...文章awbeci2013-08-29792浏览量ashx一般处理程序文件用处今天逛博客园...

weixin_33504324的博客 734

海康VisionMaster与西门子PLC1200进行S7通信

通信是连通算法平台和外部设备的重要渠道,在海康VisionMaster算法平台中既支持外部数据的读入也支持数据的写出,当通信构建起来以后既可以把软件处理结果发送给外界,又可以通过外界发送字符来触发相机拍照或者软件运行。 本文以西门子PLC1200作为外部设备为例,讲解海康VisionMaster与西门子PLC1200进行S7通信。......

haier123888的博客 1万+

Qt版Dalsa线扫相机的采集Demo

Qt Dalsa

追赶时代的博客 605

用一般处理程序做的图片验证码

新建一般处理程序:ValidateImageHandler.ashxusing System;using System.Web;using System.Web.SessionState;using System.Drawing;using System.Drawing.Imaging;using System.Text;/// /// ValidateImageHandler 生成网

博客 711

【嘉立创EDA】PCB金属包边设计快捷方法

本文使用嘉立创EDA,描述如何在PCB设计时,快速增加边框包边设计,特别是金属包边(伪)——这里标记(伪)是因为该这里的包边特指不含边缘壁。请参考本文时特别注意!本文将此过程记录,以供有需要的读者参考。

l64481000的博客 1741

C#生成中文汉字验证码的具体实现

      首先说一下生成验证码的文件格式不是用的.aspx,而是.ashx; 利用.ashx文件是一个更好的方法,这个文件类似于.aspx文件,可以通过它来调用HttpHandler类,从而免去了普通.aspx页面的控件解析以及页面处理的过程。这个文件特别适合于生成动态图片,生成动态文本等内容。        .ashx 文件用于写web handler的。其实就是带HTML和C#的混合文件

追风客的专栏 1079

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

ASP.NET 2.0 HttpHandler实现生成图片验证码(示例代码下载)

 学习整理了一下(一).功能       用HttpHandler实现图片验证码       (二).代码如下  1. 处理程序文件 ValidateImageHandler.ashx代码如下  1 @ WebHandler Language="C#" Class="ValidateImageHandler" %> 2  3 using System; 4 using System.Web; 5 

移动开发与培训 294

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

有验证码的登陆界面(ajax,ashx技术制作)

前提:要引用AjaxPro.2.dll(右键--添加引用---选AjaxPro.2.dll文件即可) 备注:程序中的红色部分是经常会搞错的地方,请大家重点关注下。 1、首先制作ashx文件,功能(产生验证码图片,并把验证码保存在Session中,便于以后比对。 [ VDC.ashx ]文件 using System; using System.Web;

cilwfvip的专栏 574

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

asp.net生成简单验证码

我是初学者,只能实现一些小小的功能,希望对于我们这样的初学者有帮助 先看一下效果图: 其实很简单的一个生成验证码的东西。 1、首先创建网站: 创建一个文件夹Handler,并添加一般处理程序Handler.ashx文件;在这里说一下ashx文件是什么。 .ashx 文件用于写web handler的。.ashx文件与.aspx文件类似,可以通过它来调用HttpHandle

任海丽(3G/移动开发) 1933

asp.net 实现随机生成验证码

一些网站中都有登录页面,登录时输入正确的验证码才可以,废话不多说,今天就用javascript 和异步来实现自动生成图片验证码的功能。 首先我们要插入一个一般处理程序(也就是ashx的文件,这里我给它起名为WaterMark.ashx) 这个文件所包括的引用: using System;...

250
上一篇: ajax实例(.net)
下一篇: object标签和embed标签
shareCode
博客等级 码龄15年 125粉丝 40原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值