`
pcajax
  • 浏览: 2159273 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

checkcode.aspx 生成随即验证码

阅读更多
checkcode.aspx 生成随即验证码
2008-06-23 16:49

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Drawing;

public partial class checkcode : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        CreateCheckCodeImage(GenerateCheckCode());
    }

    private string GenerateCheckCode()
    {
        int number;
        char code;
        string checkCode = String.Empty;
        System.Random random = new Random();

        for (int i = 0; i < 4; i++)
        {
            number = random.Next();

            if (number % 2 == 0)
                code = (char)('0' + (char)(number % 10));
            else
                code = (char)('A' + (char)(number % 26));

            checkCode += code.ToString();
        }
        Response.Cookies.Add(new HttpCookie("CheckCode", checkCode));
        return checkCode;
    }

    private void CreateCheckCodeImage(string checkCode)
    {
        if (checkCode == null || checkCode.Trim() == String.Empty)
            return;
        System.Drawing.Bitmap image = new System.Drawing.Bitmap((int)Math.Ceiling((checkCode.Length * 12.5)), 22);
        Graphics g = Graphics.FromImage(image);
        try
        {
            //生成随机生成器
            Random random = new Random();
            //清空图片背景色
            g.Clear(Color.White);
            //画图片的背景噪音线
            for (int i = 0; i < 2; i++)
            {
                int x1 = random.Next(image.Width);
                int x2 = random.Next(image.Width);
                int y1 = random.Next(image.Height);
                int y2 = random.Next(image.Height);
                g.DrawLine(new Pen(Color.Black), x1, y1, x2, y2);
            }
            Font font = new System.Drawing.Font("Arial", 12, (System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic));
            System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(new Rectangle(0, 0, image.Width, image.Height), Color.Blue, Color.DarkRed, 1.2f, true);
            g.DrawString(checkCode, font, brush, 2, 2);
            //画图片的前景噪音点
            for (int i = 0; i < 100; i++)
            {
                int x = random.Next(image.Width);
                int y = random.Next(image.Height);
                image.SetPixel(x, y, Color.FromArgb(random.Next()));
            }
            //画图片的边框线
            g.DrawRectangle(new Pen(Color.Silver), 0, 0, image.Width - 1, image.Height - 1);
            System.IO.MemoryStream ms = new System.IO.MemoryStream();
            image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
            Response.ClearContent();
            Response.ContentType = "image/Gif";
            Response.BinaryWrite(ms.ToArray());
        }
        finally
        {
            g.Dispose();
            image.Dispose();
        }
    }
}

分享到:
评论

相关推荐

    验证码 aspx

    不过,根据描述,这个项目是直接在页面内生成验证码,无需额外的Web Service支持,因此更加简洁且易于部署。 在实际应用中,为了提高安全性,验证码应该定期更新,防止被机器人破解。此外,还可以考虑使用滑动验证...

    一个不错的验证码图片

    在这个文件中,开发者定义了生成验证码的逻辑。通常包括以下步骤: 1. 生成随机字符串:验证码通常由4-6个随机字符组成,可能是字母、数字或者两者混合。 2. 生成图片:将随机字符串转换为图像,通过改变字体、颜色...

    基于C#验证码源码

    在`CheckCode.aspx.cs`文件中,可能会包含以上步骤的实现逻辑,包括生成验证码字符串、绘制图像、保存验证码以及处理用户请求时的验证。`CheckCode.aspx`可能是对应的ASP.NET页面,用于展示生成的验证码图像。 在...

    C#验证码生成程序

    `ValidateCode.aspx`通常用于生成验证码并显示在用户界面上,而`checkcode.aspx`则用于验证用户输入的验证码是否与服务器端生成的一致。 4. **代码文件解析**: - `ValidateCode.aspx.cs`:这是`ValidateCode.aspx...

    .net 生成验证码 代码 页面

    首先,我们需要两个关键文件:一个ASP.NET网页(通常是.aspx文件)用于显示和生成验证码,以及一个后端处理代码(如.aspx.cs或.aspx.vb文件)用于生成随机字符串和图像。这两个文件将包含以下功能: 1. **生成随机...

    有验证码的自定义登录控件

    - 在`CheckCode.aspx.cs`文件中,会定义生成验证码字符串的函数,以及处理用户提交的验证码的验证逻辑。当用户点击登录按钮时,控件会将输入的验证码与Session中存储的原始验证码进行比较,如果一致则认为验证成功...

    生成验证码asp.net

    在ASP.NET开发中,生成验证码是一项常见的安全措施,用于防止自动机器人或恶意脚本进行非法操作,例如注册、登录等。验证码通常是一串随机生成的字符,用户需要输入与显示的验证码相同的字符才能完成验证过程。以下...

    asp.net验证码

    这种方法是通过创建一个专门生成验证码图片的页面(如CheckCode.aspx),然后在另一个页面中通过调用这个页面并存储验证码到Cookie来实现。这样,开发者可以根据自己的需求调整验证码的长度、字体、颜色、噪声等因素...

    [VB.NET源码]验证程序

    在这里,开发者可能会定义控件事件处理函数,如Page_Load,生成验证码并将其存储在Session中,以便后续验证。 3. **ASP.NET控件**:在`CheckCode.aspx`页面中,可能会有ASP.NET控件,如Image控件用于显示验证码图片...

    net自动生成登录验证码(图片)

    在`Page_Load`方法中,我们生成验证码并将其存储在`Session`中,然后创建包含验证码的图像。 ```csharp protected void Page_Load(object sender, EventArgs e) { string checkCode = CreateCode(4); Session[...

    生成随机验证码 asp.net 源码

    文件可能包含了`Page_Load`事件处理函数,用于生成验证码并在页面加载时显示;以及可能有一个`btnSubmit_Click`事件处理函数,用于在用户提交表单时验证输入的验证码是否与Session中存储的一致。 示例代码可能如下...

    C#自动生成验证码(Aspx.net)

    C#.. 一个自动生成web 验证码实例。大家可以用用看.个人觉得不错

    Ajax无刷新验证以及改变验证码(asp.net)

    // 实现生成验证码的逻辑 } } ``` 以上就是使用ASP.NET和Ajax实现无刷新验证码验证和更换的基本步骤。这个简单的示例展示了如何结合服务器端和客户端技术,提高用户在登录过程中的交互体验。当然,实际应用中还...

    新闻管理系统

    5. **CheckCode.aspx** 和 **CheckCode.aspx.cs**: 这是验证码相关的文件,其中.aspx是用户界面,.cs是后台处理代码,负责生成和验证随机的图形验证码,增加系统安全性。 6. **Web.Config**: 这是ASP.NET应用程序的...

    课程管理系统asp.net

    8. **checkcode.aspx.cs**:这是checkcode.aspx对应的后台代码文件,可能包含生成和验证验证码的逻辑。 通过这些文件,我们可以推断出该系统具有用户注册、登录、密码管理以及可能的安全验证机制。ASP.NET的特性...

    C#生成中文汉字验证码源码

    接下来,我们创建一个ASP.NET Web页面`Admin_ValidCode.aspx.cs`,其中包含一个名为`GenerateCheckCode`的方法,该方法用于生成4个随机中文汉字的验证码字符串。为了生成中文汉字,我们需要获取GB2312编码,这是一种...

    点卡充值系统源码.

    7. **png.aspx**:可能用于生成或处理PNG图像,例如动态生成的验证码图片,或者与系统中的图形元素有关。 8. **api.aspx**:API接口页面,通常用于接收和响应来自客户端的请求,比如充值、查询余额等业务逻辑操作。...

    C# 验证码图片绘制

    1. **生成验证码字符串**:随机生成一个由字母和数字组成的字符串。 2. **创建图像对象**:使用`Bitmap`类创建一个指定大小的图像对象。 3. **绘制验证码**:在图像对象上绘制验证码字符串以及干扰元素(如线条、点...

    C#留言板(功能强大)

    checkcode.aspx.cs文件会处理生成验证码图片的逻辑,并在用户提交验证码时验证其输入是否正确。 5. **添加成功反馈(add_success.aspx)**:当用户成功添加留言后,系统会跳转到此页面,提供一个成功的提示。此页面的...

    企业管理系统源码(初级)_ Visual Studio2005 C#

    10. **yanzheng.aspx**:可能是验证页面,用于处理用户输入的验证码信息,与CheckCode.aspx配合防止机器人攻击。 以上每个页面的实现都需要掌握ASP.NET的生命周期、页面间通信、数据访问(ADO.NET或Entity ...

Global site tag (gtag.js) - Google Analytics