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

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

下面为 YZM.ashx网页内容:

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

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

  protected void Button1_Click(object sender, EventArgs e)
{
string code =Convert.ToString( Session["Code"]); //得到Session值,验证码值
if (code == TextBox3.Text) //判断验证码
{
if (TextBox1.Text == "admin" && TextBox2.Text == "gao")
{
Label1.Text = "登录成功";
}
else
{
Label1.Text = "登录失败";
}
}
else
{
Label1.Text = "验证码错误!";
}
}

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

<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. 解决IE下iframe默认有白色背景的bug

    又是一个IE莫名其妙的bug:做了一个弹出层,层里面是一张透明图片,IE下的iframe默认会有一个白色的背景,所以当iframe的外围背景并不是白色的时候,这个iframe就会显得非常的“与众不同” ...

  2. 计算json的和

      var count=0;    for(var i=0;i<data.length;i++){        count+=data[i].data;   }

  3. jQuery中get与eq的区别

    get与eq的区别 .eq() 减少匹配元素的集合,根据index索引值,精确指定索引对象. .get() 通过检索匹配jQuery对象得到对应的DOM元素. 同样是返回元素,那么eq与get有什么区 ...

  4. C#是怎么获取窗口标题的

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:C#是怎么获取窗口标题的.

  5. S2SH商用后台权限系统第三讲

    个位博友: 您好!今天我们做下登录页面,已经如何登录系统.我们的登录页面很简单,用户名.密码.验证码.下面首先描述下验证码的概念,验证码是为了防止机器人恶意登录.我们这里的验证码采用4位数字,当然你也 ...

  6. 成员方法的this指针

    1.我们知道成员方法中,有个隐式的this常量指针.考虑,Derived继承的成员方法中this指针的表面类型是什么?子类重写的虚方法中this指针的表面类型是什么? 2.Derived继承的方法,就 ...

  7. uva 11270 - Tiling Dominoes(插头dp)

    题目链接:uva 11270 - Tiling Dominoes 题目大意:用1∗2木块将给出的n∗m大小的矩阵填满的方法总数. 解题思路:插头dp的裸题,dp[i][s]表示第i块位置.而且该位置相 ...

  8. Android ListFragment实例Demo(自己定义适配器)

    上一篇文章介绍了ListFragment,当中的ListView并没有自己定义适配器,实际上在实际开发中常会用到自己定义适配器,是实现更复杂的列表数据展示. 所以这篇文章添加了自己定义适配器.来进行L ...

  9. 特殊的forward_list操作

    为了理解forward_list为什么有特殊版本的添加和删除操作,考虑当我们从一个单向链表中删除一个元素时会发生什么.当添加或删除一个元素时,删除或添加的元素之前的那个元素的后继会发生变化.为了添加或 ...

  10. 普通SQL注入

    安全防御:过滤/转义非法参数,屏蔽SQL查询错误. 工具:Firefox,hackbar,sqlmap,burpsuite 1.联想tms站 例1, 联想tms站fromCity参数存在普通SQL注入 ...