登陆时验证码的制作(asp.net)

1、显示样式:

2.新建一个页,Default2.aspx

3.在Page_load事件拷入如下代码

stringtmp = RndNum(4);

HttpCookiea =newHttpCookie("ImageV ", tmp);

Response.Cookies.Add(a);

this.ValidateCode(tmp);

4、在该页添加两个方法:

privatevoidValidateCode(stringVNum)

{

BitmapImg =null;

Graphicsg =null;

MemoryStreamms =null;

intgheight = VNum.Length * 12;

Img =newBitmap(gheight, 25);

g =Graphics.FromImage(Img);

//生¦¨²成¨¦随?机¨²生¦¨²成¨¦器¡Â

Randomrandom =newRandom();

//背À3景¡ã颜?色¦?

g.Clear(Color.Orange);

//for (int i = 0; i < 25; i++)

//{

//    int x1 = random.Next(Img.Width);

//    int x2 = random.Next(Img.Width);

//  int y1 = random.Next(Img.Height);

//    int y2 = random.Next(Img.Height);

//    g.DrawLine(new Pen(Color.Silver), x1, y1, x2, y2);

//}

//画-图ª?片?的Ì?前¡ã景¡ã噪?音°?点Ì?

for(inti = 0; i < 100; i++)

{

intx = random.Next(Img.Width);

inty = random.Next(Img.Height);

Img.SetPixel(x, y,Color.FromArgb(random.Next()));

}

//文?字Á?字Á?体¬?

Fontf =newFont("Arial   Black ", 12);

// 文?字Á?颜?色¦?

SolidBrushs =newSolidBrush(Color.White);

g.DrawString(VNum, f, s, 3, 3);

ms =newMemoryStream();

Img.Save(ms, ImageFormat.Jpeg);

Response.ClearContent();

Response.ContentType ="image/Jpeg ";

Response.BinaryWrite(ms.ToArray());

g.Dispose();

Img.Dispose();

Response.End();

}

privatestringRndNum(intVcodeNum)

{

stringVchar ="0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p "+

",q,r,s,t,u,v,w,x,y,z";

string[] VcArray = Vchar.Split(newChar[] {‘,‘});

stringVNum =" ";

inttemp = -1;

Randomrand =newRandom();

for(inti = 1; i < VcodeNum + 1; i++)

{

if(temp != -1)

{

rand =newRandom(i * temp *unchecked((int)DateTime.Now.Ticks));

}

intt = rand.Next(35);

if(temp != -1 && temp == t)

{

returnRndNum(VcodeNum);

}

temp = t;

VNum += VcArray[t];

}

returnVNum;

}

5、在建立一个页面用来显示验证码:

则在该页面添加一个图片控件

6、在该页的Page_load事件中添加

ImageButton1.ImageUrl ="Default2.aspx";

7.前台页面添加:

<asp:ImageButtonID="ImageButton1"runat="server"Width="100"Height="30"/>

看不清?<ahref="javascript:changeCode()"style="text-decoration: underline;">换一张</a>

<scripttype="text/javascript">

functionchangeCode() {

document.getElementById(‘ImageButton1‘).src = document.getElementById(‘ImageButton1‘).src +‘?‘;

}

</script>

这样就完成啦!

时间: 2024-10-12 15:15:34

登陆时验证码的制作(asp.net)的相关文章

asp.net登录时验证码的制作与验证

1.新建一个页面,ImageCode.aspx 2.在Page_Load中添加如下代码 string tmp = RndNum(4); HttpCookie a = new HttpCookie("ImageV ", tmp); Response.Cookies.Add(a); this.ValidateCode(tmp); 3.在该页面中添加两个方法 private void ValidateCode(string VNum) { Bitmap Img = null; Graphic

ASP.NET——验证码的制作

        我们在登陆网站,发表博客或者提交评论的时候,经常会遇到填写验证码这一项,当时感觉挺神奇的样子,终于在牛腩新闻发布系统里接触到了,在这里小小的总结下.         用到的东东有三个:一个aspx页面,一个图片         首先,建立一个aspx页面.         <%@ WebHandler Language="C#" Class="Picture" %> using System; using System.Web; usin

如何保证用户登陆时提交密码已经加密

如何保证用户登陆时提交密码已经加密?密码是否已加密,需要客户端和服务端建立约定,双方按约定办事就行了. 这里提到的另一个问题是,如何保证传输安全?最理想的方案当然是走 HTTPS 协议. HTTPS 在理论上是可靠的,但在国内会打一些折扣:你可以随便找一台电脑看看有没有安装商业公司或机构的根证书,这些根证书为线路某节点成为中间人提供了可能性:同时,在木马横行的年代,密码在加密提交前可能就被拿到了,此时 HTTPS 成了摆设,这是为什么国内流行密码控件的一个重要原因. 从成本和需求上考虑,对于众多

VB制作ASP组件_本站原创视频录像

由本人第一次尝试制作的录像视频教程,由于电脑速度较慢,播放时间较慢,请谅解. 本录像讲解最基础的VB封装ASP代码生成DLL的制作教程,适合初级学习者参考.也是本人学习VB制作ASP组件的第一个尝试,录像基本成功. 用vb编写asp组件(dll)示例下面,将演示如何使用vb制作asp的dll组件... 1. 启动你的vb,选择activex dll图标,然后在点击菜单的工程>>引用,接 着在弹出的"引用"窗口从中选择 microsoft active server page

利用htmlunit登陆带验证码图片的网站

http://htsoft.org/html/y2011/822_using-htmlunit-landing-site-with-captcha-image.html 利用htmlunit登陆带验证码图片的网站 2011年09月15日 ⁄ 编程语言 ⁄ 共 1266字 ⁄ 字号 小 中 大 ⁄ 暂无评论 ⁄ 阅读 7,088 次 以百度统计为例,说明下如何用htmlunit登陆带验证码的网站 //baidu统计登陆代码 try { WebClient client = new WebClien

putty密钥登陆时出错问题

我们在使用putty登陆时,为了安全,常常使用密钥进行验证,然而笔者在做实验时遇到了错误,输入用户名后显示:Server refused our key 在网上搜索了一下,发现很多人都遇到这样的问题,密钥无法使用,于是笔者对该错误总结一下几点: 一.防火墙未关闭 这是最常见也是最容易范的错,然而也容易解决,有两种方式关闭防火墙: 1.命令:#setenforce  0 临时关闭,重启系统后会自动开启 2.命令:#vim  /etc/selinux/config, 将"enforceing&quo

wireshark安装完毕,但登陆时卡登陆界面问题解决办法

前一阵子,需要wireshark抓包,安装好wireshark之后,却发现登陆时总会卡在登陆界面,如图: 一直卡在这,找了好多天问题,最终终于找到问题所在. 原因:笔者的电脑安装的是windows10系统,但在官网上所下的wireshark他所默认的winPcap版本是4.1.3,而这个并不适合windows10系统. 解决方案:可以下载并安装专门兼容windows10的win10Pcap,下载地址 http://www.win10pcap.org/download/ 安装后,就可以进入了. 另

windows live writer 尝试登陆时发生意外错误,导致无法发表博客解决方案

刚用windows live writer发表博客, 但是出现如下提示: 尝试登陆时发生意外错误: 网络连接错误--尝试连接到一下日志时出错: http://www.cnblogs.com//xxxx/metaweblog.aspx MovedPermanently:Moved Permanetly. 具体如图: 看到网络连接错误, 第一反应是以为自己掉网了, 赶紧测试了一下 发现可以ping通公网,排除网络连接问题. 然后又看到: MovedPermanently ,咦,没有做过移动啊?不会是

Tamperdata工具使用(登陆时就修改用户名),篡改post数据

Tamperdata是firefox上的一款插件,它可以实现篡改数据的功能,这样可以做一些安全的测试验证,他的原理就是在发出请求前,在本地就开始改动数据,下面修改post请求 1.安装Tamperdata插件 在火狐浏览器中选择附加组件 2.选择获取附加组件,并且在搜索框中搜索Tamperdata插件(因为我已经安装了,所以现在就没有了)  2.使用 在浏览器中输入url地址时,开启tamper 模拟登陆时修改用户,登陆用户如下,并点击登录按钮 提交按钮后就被拦截了,点击tamper, 修改用户