ASP.NET随机码生成示例

精贴 置顶
2534 0

现在很多网页登陆的时候都使用了随机图片的方式,是一种简单、有效的防止黑客恶意攻击的手段。今天看了一些网上的资料,明白其生成原理:从样本中,获取随机字符串,随机字符串保存进session,并以位图的方式形成随机码图片。

实现:
添加命名空间

using System.Drawing;
using System.Drawing.Imaging;
using System.Drawing.Drawing2D;
生成页代码

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;
using System.Drawing.Imaging;
using System.Drawing.Drawing2D;

public partial class getRandImg : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        //生成随机码图片
        SetValidateCode();
        //生成页面不保存到cache
        Response.Cache.SetNoStore();
    }

    //设置验证码
    private void SetValidateCode()
    {
        //新建位图
        Bitmap newBitmap = new Bitmap(
                                        71,
                                        23,
                                        PixelFormat.Format32bppArgb
                                     );
        //从位图获得绘图画面
        Graphics g = Graphics.FromImage(newBitmap);
        //随机数生成器
        Random r = new Random();
        //绘图画面清空
        g.Clear(Color.White);
        //绘图画面划线干扰
        for (int i = 0; i < 50; i++)
        {
            int x1 = r.Next(newBitmap.Width);
            int x2 = r.Next(newBitmap.Width);
            int y1 = r.Next(newBitmap.Height);
            int y2 = r.Next(newBitmap.Height);
            g.DrawLine(new Pen(
                                Color.FromArgb(r.Next())),
                                x1,
     &nb

  • 没有任何评论
今日天气 ···

···

···

···

热门排行
用ASP实现网页BBS 2010-11-01
CSS cursor鼠标样式一览表 2012-06-25
.NET后台写JS代码 2011-11-03
网站地址多出jdfwkey的问题解析及... 2010-08-25
数据库xxx的日志已满,请备份该数... 2013-07-19
百度、google、Yahoo网站地图制作... 2011-01-30
<a>标签的伪类书写顺序问题... 2010-09-04
什么是长尾关键词? 2010-09-24
CEO名言 2010-08-31
Mysql 主从数据库同步 2010-09-12
博主推荐
本个人博客微信公众平台上线啦~~... 2013-10-13
饼哥网络互联上线啦~~要买域名空... 2013-09-20
网站title标题如何正确修改不会被... 2013-08-26
饼哥通讯录系统上线啦,欢迎大家... 2013-08-24
ASP .NET MYSQL 的简单分页 并不... 2013-08-19
网站有弹窗广告这样的站点,百度... 2013-08-17
做淘宝SEO优化需要注意的8大问题 2013-08-17
淘宝网怎么做SEO优化 2013-08-17
站长们要学习的“苍井空精神” 2013-08-17
苹果公司今日发布了iOS 7第五个开... 2013-08-07
随便看看
ASP.NET开发技巧之Theme功能浅析 2010-09-10
UrlRewriter重写地址的POSTBACK后... 2010-09-11
冯仑:朋友决定视野 2010-09-27
网站被黑的10大原因 2010-10-15
Flash播放器参数知多少? 2010-12-15
Java 遍历Map所有元素的代码 2013-06-24
数据库查询语言(2) 2010-10-23
seo自身对于网站降权的处理 2013-06-23
简单配置IIS 让web支持FLV文件格... 2012-05-09
几种方法教你如何将windows服务删... 2011-01-22
RSS新闻
传媒新闻
CSDN
八卦新闻
女性新闻
台湾新闻
互联网
军事-新浪博客
IT-新浪博客
汽车新闻
游戏新闻
国际新闻
国内新闻
体育新闻
我的微博
北京 上海 杭州 深圳 广州 成都