asp.net一般处理程序(.ashx)动态生成验证码案例。

{使用一般处理程序动态生成验证码}

1.新建WebSite项目,添加一般处理程序命名为  yzm.ashx,添加如下代码:

public void ProcessRequest(HttpContext context)
    {

 
//将context.Response.ContentType = "text/plain";修改为context.Response.ContentType =
"image/JPEG";

       
context.Response.ContentType =
"image/JPEG";
        using
(System.Drawing.Bitmap bitmap
=
            
new System.Drawing.Bitmap(150,
50))
       
{
            using
(System.Drawing.Graphics grapgics
=
               
System.Drawing.Graphics.FromImage(bitmap))
           
{

  
//测试示例

             
 
/*grapgics.DrawString("哈喽",
                  
new System.Drawing.Font("宋体",
20),
                  
System.Drawing.Brushes.Blue
                  
, new System.Drawing.PointF(0,
0));

               
System.Drawing.Pen pen =
(System.Drawing.Pen)
                   
System.Drawing.Pens.Red.Clone();
               
pen.Width =
3;
               
grapgics.DrawEllipse(pen, new System.Drawing.Rectangle(20, 20, 10,
10));

               
bitmap.Save(context.Response.OutputStream,
                   
System.Drawing.Imaging.ImageFormat.Jpeg);*/

               
//生成随机数

               
Random random = new
Random();
               
int code =
random.Next();
               
string strCode = code.ToString();

  
//存session

               
HttpContext.Current.Session["code"] =
strCode;
               
grapgics.DrawString(strCode,
                  
new System.Drawing.Font("宋体",
20),
                  
System.Drawing.Brushes.Blue
                  
, new System.Drawing.PointF(0,
0));
               
bitmap.Save(context.Response.OutputStream,
                   
System.Drawing.Imaging.ImageFormat.Jpeg);

           
}
        }

    
//本身就有的

       
context.Response.Write("Hello World");
    }

2.新建webApplication。

在<div>中添加<img src="yzm.ashx"/>

添加TextBox 和Button,Button的单击事件如下

protected void Button1_Click(object sender, EventArgs
e)
    {
        string
stryzm =
Convert.ToString(Session["code"]);
       
if (stryzm==TextBox1.Text)
       
{
           
Response.Write("正确");
       
}
       
else
       
{
           
Response.Write("错误");
       
}
    }

3.随后即可在WebApplication中进行测试。

asp.net一般处理程序(.ashx)动态生成验证码案例。,布布扣,bubuko.com

时间: 2024-10-20 05:28:45

asp.net一般处理程序(.ashx)动态生成验证码案例。的相关文章

JSP动态生成验证码

(1)在登录应用中,为防止恶意登录,常常需要服务器动态生成验证码并存储在session作用范围中,最后以图像形式返回给客户端显示 (2)下边的代码实现的功能:写一个JSP页,动态生成一个验证码,存储在session作用范围内,并以图像形式返回给客户端显示. 另写一个JSP页面,引用此JSP页面生成的验证码: authen.jsp代码如下: <%@ page import="java.awt.*,java.awt.image.*,java.util.*,com.sun.image.codec

ASP.NET -- 一般处理程序ashx

ASP.NET  --   一般处理程序ashx 如果在一个html页面向服务器端请求数据,可用ashx作为后台页面处理数据.ashx适合用作数据后台处理,相当于WebForm中的aspx.cs文件或aspx.vb文件. 入门案例:html页面向ashx页面请求数据,ashx作为后台页面返回数据. 前端html页面: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" co

PHP 动态生成验证码

……机器人会在网站中搜寻允许他们插入广告的输入表单,在虚拟世界没有什么能阻挡它们胡作非为.这些机器人效率极高,完全不关心所攻击的表单的本来用途.它们唯一的目标就是用它们的垃圾广告覆盖你的内容,残忍地为它们的主人谋取广告收入. 要检验一个表单所面对的是一个真正的人,这种测试称为CAPTCHA(完全自动化公共图灵测试).目前最有效的方法是生成一个要求用户输入的随机通行短语,为了防止支持OCR(光学字符识别)的机器人破解系统,通行短语字母必须变形,或者用随机的直线和点进行部分模糊处理. /* 生成验证

ASP.NET中Literal使用——动态生成页面

在页面中添加内容时,如果是静态内容,无需使用容器,可以直接将标记作为HTML直接添加到页面中:但是,如果是动态内容,则必须借助容器将内容添加到页面中.典型的容器有:Label控件.Literal控件.Panel控件和PlaceHolder控件. 一.控件选择:Literal Literal控件与Lable控件的区别在于,Literal控件不向文本中添加任何HTML元素:而Label控件呈现一个span元素. Panel和PlaceHolder控件呈现为DIV元素,这将在页面上创建离散块,与Lab

jsp动态生成验证码详细代码

思路:页面加载时执行fnGetcode()方法,获取验证码所有信息:点击“点击图片更换” 再次执行fnGetcode()方法: 1):<body > <label>         验证码:         <input id="showco" type="hidden" value=""/>         <input type="text" id="code"

0166 DOM 之 节点操作: 删除节点,删除留言案例,复制(克隆)节点,动态生成表格案例,创建元素的三种方式,innerHTML和createElement效率对比

1.1.1 删除节点 node.removeChild(child) // 此处的node指 父节点 node.removeChild() 方法: 从 node节点中删除一个子节点,返回删除的节点. <button>删除</button> <ul> <li>熊大</li> <li>熊二</li> <li>光头强</li> </ul> <script> // 1.获取元素 va

动态生成验证码

知识点: 1. 对图像的操作 问题: 解决方案 1 <%@ WebHandler Language="C#" Class="ValidateCode" %> 2 3 using System; 4 using System.Web; 5 using System.Drawing; 6 using System.IO; 7 8 public class ValidateCode : IHttpHandler { 9 10 public void Proce

java动态生成验证码图片

package cn.lijun.checkimg; import java.awt.image.BufferedImage;import java.io.BufferedReader; import java.awt.Color;import java.io.FileReader;import java.io.IOException;import java.util.ArrayList;import java.util.List;import java.util.Random; import

动态生成表格案例

步骤 1.创建一个页面,两个输入框和一个按钮 2.得到输入的行和列的值 3.生成表格 --循环行 --在行里面循环列 4.显示到页面上 --把表格的代码设置到div上 --使用innerHTML属性 代码 <html> <head> <title>Html示例</title> <style type="text/css"> </style> </head> <body> 行:<inpu