新建一个 ashx 一般处理程序 如: YZM.ashx
继承接口 IRequiresSessionState //在一般处理程序里面继承

HttpContext context
为请求上下文,包含此次请求处理要使用到的信息和对象都在里面,有Response,有Request

下面为 YZM.ashx网页内容:

  1. public class YZM : IHttpHandler,System.Web.SessionState.IRequiresSessionState {
  2. public void ProcessRequest (HttpContext context) {
  3. context.Response.ContentType = "image/JPEG"; //设置格式为 图片
  4. using (System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap(, )) //新建一张图片,设置宽度与高度
  5. {
  6. using (System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bitmap))
  7. {
  8. Random rand = new Random(); //创建一个 随机数类
  9. int code = rand.Next(, ); //获得一个随机数,指定范围
  10. string strCode = code.ToString();
  11. HttpContext.Current.Session["Code"] = strCode; //将随机数赋值给 Session
  12. g.DrawString(strCode,new System.Drawing.Font("宋体",),System.Drawing.Brushes.Red,new System.Drawing.PointF(,)); //利用随机数创建一个图片,设置大小,颜色
  13. bitmap.Save(context.Response.OutputStream,System.Drawing.Imaging.ImageFormat.Jpeg);
  14. //保存图片并输出
  15. }
  16. }
  17. }

下面为WEB页面的代码内容:

  1. protected void Button1_Click(object sender, EventArgs e)
  2. {
  3. string code =Convert.ToString( Session["Code"]); //得到Session值,验证码值
  4. if (code == TextBox3.Text) //判断验证码
  5. {
  6. if (TextBox1.Text == "admin" && TextBox2.Text == "gao")
  7. {
  8. Label1.Text = "登录成功";
  9. }
  10. else
  11. {
  12. Label1.Text = "登录失败";
  13. }
  14. }
  15. else
  16. {
  17. Label1.Text = "验证码错误!";
  18. }
  19. }

下面为WEB页面的设计内容:

  1. <img alt="" src="YZM.ashx" /> //插入验证码

用Session实现验证码的更多相关文章

  1. ASP.NET:在一般处理程序中通过 Session 保存验证码却无法显示图片?

    using System.Drawing; using System.Web; using System.Web.SessionState; /// <summary> /// Captc ...

  2. 简单的行为控制管理方法,自动登录,session定时验证码过期

    代码很简单 实现的方式很多,用cookies 用static 变量 file文件缓存 等等 比如 //简单行为管理,如果请求此方法次数多于5次,就显示验证码 吧当前方法的name传进来,有效时间是5分 ...

  3. JavaWeb学习之转发和重定向、会话技术:cookie、session、验证码实例、URLConnection使用(下载网页)(4)

    1.转发和重定向 HttpServletResponse response 转发: RequestDispatcher dispatcher = request.getRequestDispatche ...

  4. JavaWeb学习记录(六)——用户登录功能之Session与验证码验证功能的实现

    一.产生验证码的工具类 package blank.util; import java.awt.Color;import java.awt.Graphics;import java.awt.image ...

  5. session图片验证码,页面和请求是两个地址。android手机好用,iphone 失效。

    问题描述:之前在H5页面用session做了一个验证码.安卓手机好使.但是到苹果就不好使了(页面访问是一个域名地址,ajax请求是用另外的一个ip地址). 详细说明: 验证码请求后台图片正常显示,an ...

  6. CodeIgniter学习笔记五:分页,文件上传,session,验证码

    一.分页 示例代码: //装载类文件 $this -> load -> library('pagination'); $controller = $this->router-> ...

  7. web框架详解之 tornado 四 模板引擎、session、验证码、xss

    一.模板引擎 基本使用 继承,extends 页面整体布局用继承 导入,include 如果是小组件等重复的那么就用导入 下面是目录 首先在controllers里面创建一个文件,文件里面是页面类 # ...

  8. Laravel中使用Session存取验证码信息

    1.将验证码存储到session中. $request->session()->put('validate_code',$validateCode->getCode());//存储信 ...

  9. 小程序接口无法传递session校验验证码

    今天在写接口的时候发现一个问题,我用apiaaz测试一切正常,但是从小程序接口请求验证码,一直验证失败. 最开始用的图形验证码,查阅了不少资料,最后怀疑是cookie的问题,解决无果,换成了短信验证码 ...

随机推荐

  1. jquery 模块拖拽

    这是模块拖拽Javascript代码 $(function(){ var _move=false;//移动标记 var _x,_y;//鼠标离控件左上角的相对位置 $(".drag" ...

  2. IOS开发之带格式的文本

    有时可能会遇到这样的问题,一个label中设置的文本含有2种以上不同的格式,又不能把它拆解为两个label来显示,这时用NSMutableAttributedString可以很好的解决问题. 示例如下 ...

  3. ibm rational software architect download

    keep secret: rational software architect download: http://public.dhe.ibm.com/software/rationalsdp/v8 ...

  4. jquery如何让滚动条默认在最底部

    $(document).ready(function() { $("#content").scrollTop($("#content")[0].offsetHe ...

  5. int& a = b 的思考

    在PCL显示点云部分程序中,涉及到了如下程序 // 定义相关变量 pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_ptr (new pcl::Point ...

  6. 在Apache Tomcat 7设置redis作为session store

    在Apache Tomcat 7设置redis作为session store  //输出tomcat控制台日志 root@ubuntu:~# cd /usr/tomcat/apache-tomcat- ...

  7. mysqld --debug-sync

    http://hedengcheng.com/?p=238https://dev.mysql.com/doc/internals/en/debug-sync-facility.html mysqld ...

  8. careercup-数学与概率

    7.3 给定直角坐标系上的两条线,确定这两条线会不会相交. 解法: 此题有很多不确定的地方:两条线的格式是什么?两条线实为同一条怎么处理?这些含糊不清的地方最好跟面试官讨论一下. 下面将做出以下假设: ...

  9. MySQL【第一篇】安装

    一.简介 MySQL 是最流行的关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司.MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言.MySQL由于其体积小. ...

  10. 100 high quality blogs from java developers

    This list collects 100 high quality blogs from Java developers from all over the world. Some of thes ...