- Rongsen.Com.Cn 版权所有 2008-2010 京ICP备08007000号 京公海网安备11010802026356号 朝阳网安编号:110105199号
- 北京黑客防线网安工作室-黑客防线网安服务器维护基地为您提供专业的
服务器维护
,企业网站维护
,网站维护
服务 - (建议采用1024×768分辨率,以达到最佳视觉效果) Powered by 黑客防线网安 ©2009-2010 www.rongsen.com.cn
作者:黑客防线网安ASP维护基地 来源:黑客防线网安ASP维护基地 浏览次数:0 |
功能概述
当用户登录的时候,在其他登录信息正确的前提下,输入验证码与系统自动生成的验证码相匹配则安然登录。
主要功能:
* 生成验证码
* 效验验证码
基本原理:
根据一定的规则生成随机的5为字符(由0—9的数字和A—Z的字母组成),并写入Session。验证的时候再从Session中取出进行比较。
前提知识:
关于ashx文件
本质:缺少html文件的aspx文件。
使用场景:
适合生成动态的图像或文本。
ashx输出作为页面元素img的背景(属性src的值,eg:<img src="../Handler/WaterMark.ashx" id="vimg" alt="\" onclick="change()" />)
.ashx文件有个缺点,他处理控件的回发事件非常麻烦,比如说如果用它来生成DataGrid的列表也不是不行,但是处理数据的回发,需要一些.aspx页的功能,只有自己手动处理这些功能。所以,一般使用.ashx,用来输出一些不需要回发处理的项目即可。
程序设计
1 <%@ WebHandler Language="C#" Class="WaterMark" %>
2
3 using System;
4 using System.Web;
5 using System.Drawing;
6 using System.Drawing.Drawing2D;
7 using System.Web.SessionState;
8
9 public class WaterMark : IHttpHandler,IRequiresSessionState{
10 //使用Session时必须实现IRequiresSessionState接口,并引入命名空间System.Web.SessionState
11 public void ProcessRequest (HttpContext context) {
12 string checkCode = GenCode(5);
13 context.Session["Code"] = checkCode;
14 System.Drawing.Bitmap image = new System.Drawing.Bitmap(70, 22);
15 Graphics g = Graphics.FromImage(image);
16 try
17 {
18 Random random = new Random();
19
20 g.Clear(Color.White);
21
22 int i;
23 for (i = 0; i < 25; i++)
24 {
25 int x1 = random.Next(image.Width);
26 int x2 = random.Next(image.Width);
27 int y1 = random.Next(image.Height);
28 int y2 = random.Next(image.Height);
29
我要申请本站:N点 | 黑客防线官网 | |
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479 |