成都网站推广
 

中联无限-服务热线:028-86637122 工作时间:9:00-18:00 星期一-星期五

 
首页 | 关于我们 | 新闻动态 | 成都网站建设 | 成都网站推广 | 成都微信营销 | 网站制作案例 | 软件开发 | 常见问题 | 域名注册 | 虚拟主机
  常见问题
     常见问题-域名注册
     常见问题-企业邮局
     常见问题-虚拟主机
     常见问题-推广优化
     常见问题-程序开发
     常见问题-美工设计
  
  客户案例
·巨丰达人减肥训练营
·成都写意经典家具有限公司
·成都卡姆士安防设备有限公司
·新千里装饰集团
·成都吕氏三才中医博爱堂
·泊菲特语言学校
·四川高地易景园林工程公司
·成都烽火建筑装饰设计有限公司
·优尼客酒店
·成都杜嘉机电有限公司
·菲颖1购
·成都安东尼体育文化传播有限公
·四川九章生物化工科技发展有限
·成都环球体育文化传播有限公司
·万友爱淘网上商城
·四川省斯博兰德建筑装饰设计有
·肥犇仔
·成都市猛追湾游泳场
  网站运营
·企业新站推广中存在的六大误区
·网站运营之八大要素
·怎么区别网站运营与网络运营
·怎样区分网站运营和网络运营
·SQL Server 200
·新网站运营后如何迅速增加网站
·减肥网站是怎样提高收入的
·个人网站赢利模式的拓展方向
·商业门户网站运营模式探讨
·成都地方门户网站运营模式
·网站策划人如何盈利
·网站运营模式观察与分析
  最新资讯
·成都网络推广公司介绍的六种推
·分析导致成都网络推广效果差的
·成都网站优化:企业网站关键词
·成都网站优化初期企业应该需要
·浅析成都网站优化中企业如何建
·分析企业在做成都网站优化过程
·短视频营销可以为成都网络推广
·小品牌怎么样才能既省钱又省力
·分析成都网络推广中企业需要注
·如何根据成都网络推广的营销周
·成都网站优化需要遵循哪些规则
·成都SEO网站优化过程中如何
 
   您的位置在:成都网站推广 > 常见问题 > 常见问题-程序开发 > 正文
   常见问题-程序开发

Asp.Net验证码源代码(仅供产考)

[ 来源:中联无限科技有限公司   发布日期:2011/3/8 10:12:05 ]
验证码可以有效地防止黑客对网页的攻击,现在公布一个我常用的验证码的源代码, 使用方法:   1、在Web项目中添加一个类,如“CreateImage.cs”,然后将我公布的源代码Copy进去;   2、再新建一个Web窗体,如“Image.ASPx”,在Page_Load中加入代码 “CreateImage.DrawImage ();”当然别忘了加上对类的引用哦!!   3、在页面的合适位置上(你想放验证码的位置)上加上如下JavaScript代码就OK 了,

验证码可以有效地防止黑客对网页的攻击,现在公布一个我常用的验证码的源代码, 
使用方法: 
  1、在Web项目中添加一个类,如“CreateImage.cs”,然后将我公布的源代码Copy进去; 
  2、再新建一个Web窗体,如“Image.ASPx”,在Page_Load中加入代码 “CreateImage.DrawImage ();”当然别忘了加上对类的引用哦!! 
  3、在页面的合适位置上(你想放验证码的位置)上加上如下JavaScript代码就OK 了,   
   /// 
   /// 验证码模块 
   /// 
   public class CreateImage 
   { 
   public static void DrawImage() 
   { 
   CreateImage img=new CreateImage(); 
   HttpContext.Current.Session["CheckCode"]=img.RndNum(4); 
   img.CreateImages(HttpContext.Current.Session["CheckCode"].ToString()); 
   } 
   
   /// 
   /// 生成验证图片 
   /// 
   /// 验证字符 
   private void CreateImages(string checkCode) 
   { 
   int iwidth = (int)(checkCode.Length * 13); 
   System.Drawing.Bitmap image = new System.Drawing.Bitmap(iwidth, 23); 
   Graphics g = Graphics.FromImage(image); 
   g.Clear(Color.White); 
   //定义颜色 
   Color[] c = {Color.Black,Color.Red,Color.DarkBlue,Color.Green,Color.Orange,Color.Brown,Color.DarkCyan,Color.Purple}; 
   //定义字体 
   string[] font = {"Verdana","Microsoft Sans Serif","Comic Sans MS","Arial","宋体"}; 
   Random rand = new Random(); 
   //随机输出噪点 
   for(int i=0;i<50;i++) 
   { 
   int x = rand.Next(image.Width); 
   int y = rand.Next(image.Height); 
   g.DrawRectangle(new Pen(Color.LightGray, 0),x,y,1,1); 
   } 
   
   //输出不同字体和颜色的验证码字符 
   for(int i=0;i 
   { 
   int cindex = rand.Next(7); 
   int findex = rand.Next(5); 
   
   Font f = new System.Drawing.Font(font[findex], 10, System.Drawing.FontStyle.Bold); 
   Brush b = new System.Drawing.SolidBrush(c[cindex]); 
   int ii=4; 
   if((i+1)%2==0) 
   { 
   ii=2; 
   } 
   g.DrawString(checkCode.Substring(i,1), f, b, 3+(i*12), ii); 
   } 
   //画一个边框 
   g.DrawRectangle(new Pen(Color.Black,0),0,0,image.Width-1,image.Height-1); 
   
   //输出到浏览器 
   System.IO.MemoryStream ms = new System.IO.MemoryStream(); 
   image.Save(ms,System.Drawing.Imaging.ImageFormat.Jpeg); 
   HttpContext.Current.Response.ClearContent(); 
   //Response.ClearContent(); 
   HttpContext.Current.Response.ContentType = "image/Jpeg"; 
   HttpContext.Current.Response.BinaryWrite(ms.ToArray()); 
   g.Dispose(); 
   image.Dispose(); 
   } 
   
   /// 
   /// 生成随机的字母 
   /// 
   /// 生成字母的个数 
   /// string 
   private string RndNum(int VcodeNum) 
   { 
   string Vchar = "0,1,2,3,4,5,6,7,8,9" ; 
   string[] VcArray = Vchar.Split(’,’) ; 
   string VNum = "" ; //由于字符串很短,就不用StringBuilder了 
   int temp = -1 ; //记录上次随机数值,尽量避免生产几个一样的随机数 
   
   //采用一个简单的算法以保证生成随机数的不同 
   Random rand =new Random(); 
   for ( int i = 1 ; i < VcodeNum+1 ; i++ ) 
   { 
   if ( temp != -1) 
   { 
   rand =new Random(i*temp*unchecked((int)DateTime.Now.Ticks)); 
   } 
   int t = rand.Next(VcArray.Length ) ; 
   if (temp != -1 && temp == t) 
   { 
   return RndNum( VcodeNum ); 
   } 
   temp = t ; 
   VNum += VcArray[t]; 
   } 
   return VNum ; 
   }

中联无限科技公司提供专业的成都网站建设成都网站设计成都网站制作成都网站推广


上一篇:如何在邮件中发送ReportingService
下一篇:如何保护虚拟机环境下的数据安全
   相关常见问题-程序开发
·网站建设静态化之rewrite,path2011-07-28
·ACCESS在哪种情况下会“吃不消”?2011-05-26
·静态源码2011-05-17
·动态源码2011-05-17
·JS操作Cookie 大全2011-03-25
·获取SQL Server数据字典的经典S2011-03-09
·asp.net入门篇 上传图片并生存裁剪2011-03-09
·c#正则表达式入门提升教程分享2011-03-08
·asp.net 比较两个时间,返回时间间2011-03-08
·如何实现C#与TXT文件的读写操作2011-03-08
·Asp.Net验证码源代码(仅供产考)2011-03-08
·经典SQL语句大全2011-02-28
首页 | 公司简介 |联系方式 |付款方式 |人才招聘 | 域名空间 | 网页设计案例 | 网站知识 | 解决方案 | 建站指南 | 网站地图
地址:成都市青羊区西大街1号   邮编:610041   E- Mail:619027769@qq.com   代理合作: 028-86637122
网站建设/推广咨询:028-86637122  86618860  传真:028-86637322   
成都中联无限科技有限公司 2004-2014    蜀ICP备05017733号