登陆时验证码的制作(asp.net)
登陆时验证码的制作(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>
这样就完成啦!

登陆时验证码的制作(asp.net)的更多相关文章
- asp.net登录时验证码的制作与验证
1.新建一个页面,ImageCode.aspx 2.在Page_Load中添加如下代码 string tmp = RndNum(4); HttpCookie a = new HttpCookie(&q ...
- SYSDBA身份登陆时可以修改其他用户的密码
在以SYSDBA身份登陆时可以修改其他用户的密码,比如:SQL> alter user user01 identified by user10;用户已更改.这个是把USER01用户密码修改为US ...
- Ajax实现提交表单时验证码自动验证(原创自Zjmainstay)
本文通过源码展示如何实现表单提交前,验证码先检测正确性,不正确则不提交表单,更新验证码. 1.前端代码 index.html <!DOCTYPE html> <html> &l ...
- windows live writer 尝试登陆时发生意外错误,导致无法发表博客解决方案
刚用windows live writer发表博客, 但是出现如下提示: 尝试登陆时发生意外错误: 网络连接错误--尝试连接到一下日志时出错: http://www.cnblogs.com//xxxx ...
- Tamperdata工具使用(登陆时就修改用户名),篡改post数据
Tamperdata是firefox上的一款插件,它可以实现篡改数据的功能,这样可以做一些安全的测试验证,他的原理就是在发出请求前,在本地就开始改动数据,下面修改post请求 1.安装Tamperda ...
- 利用htmlunit登陆带验证码图片的网站
http://htsoft.org/html/y2011/822_using-htmlunit-landing-site-with-captcha-image.html 利用htmlunit登陆带验证 ...
- sql server 2008 r2 登陆时显示无法打开默认的数据库
解决! 第一步: 远程其他服务器的数据库能连上,本地的数据库某个用户名就是打不开,一开始以为是用户名或者密码错误, 后来用sqlcmd dos命令 -S . -U an -P sa 的方式登陆时可以的 ...
- 解决Yii2中刷新网页时验证码不刷新的问题
解决Yii2中刷新网页时验证码不刷新的问题 [ 2.0 版本 ] ljfrocky 2015-05-30 19:39:00 1304次浏览 5条评论 10110 在Yii2框架中,如果在表单中使用 ...
- Maven + SSM + Kaptcha 实现用户登录时验证码的获取(问题:302 Found)
pom.xml(对Kaptcha.jar的引用) <!-- 验证码 jar kaptcha--> <dependency> <groupId>com.github. ...
随机推荐
- Android——黑名单管理(二)
说明:多加一点完善 1.在操作类 DAO 将连接数据库也放到了构造方法中(错误),加删除全部的方法 2.主界面增加了姓名一栏,用layout文件将对话框分离出来 3.删除加确认提示 4.加删除全部按钮 ...
- Git 提交更改
Jerry 已经提交的更改,他想纠正他的最后一次提交,在这种情况下,git 的修改将帮助操作.最后提交修改操作的变化,包括提交信息,它创建新的提交ID. 修改操作之前,他会检查提交日志. [jerry ...
- java 缩放算法 双线性插值,双三次插值
双线性插值的效果对于放大的图像而言较领域插值来得平滑,但是却使得图像变得模糊而且仍然会有一部分锯齿现象. 双三次插值更好比双线性插值更好. 图像缩放之双三次插值法 数字图像处理之双线性插值
- spring boot @ConditionalOnxxx相关注解总结
Spring boot @ConditionalOnxxx相关注解总结 下面来介绍如何使用@Condition public class TestCondition implements Condit ...
- Android开发-新建线程崩溃
一直不满意车机不能实现屏保,最近发现可以通过设置亮度实现,顾萌生了自己写程序的来实现的念头,遂修改原来练手的app.毕竟过去了1年,各类程序.sdk都已经更新了不知道多少版本.经历了痛苦的升级.更新, ...
- js文档碎片
//文档碎片:类似一个临时的文档,要所有要加的dom元素先放在这里,达到不要每次操作dom元素提高页面效率 var d1 = new Date(); //创建十个段落,常规的方式 ; i < ; ...
- 第三百八十八节,Django+Xadmin打造上线标准的在线教育平台—网站列表分页
第三百八十八节,Django+Xadmin打造上线标准的在线教育平台—网站列表分页 分页可以用一个第三方分页模块django-pure-pagination 下载地址:https://github.c ...
- SpringMVC系列(六)处理模型数据
Spring MVC 提供了以下几种途径输出模型数据: ModelAndView: 处理方法返回值类型为 ModelAndView时, 方法体即可通过该对象添加模型数据 Map 及 Model: ...
- e565. 关闭的时候隐藏窗口
By default, when the close button on a frame is clicked, nothing happens. This example shows how to ...
- Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.【转】
今天碰到了一个查询异常问题,上网查了一下,感谢原创和译者 如果你使用的数据库连接类是 the Data Access Application Blocks "SqlHelper" ...