“字母跟数字混合的验证码技术”:
验证码技术是网站开发过程中比较重要的技术,可以防止非法人员利用注册机或者登陆工具来攻击我们的网站。废话少说,切入正题。主要思路是:引用Using System.Drawing命名空间,利用Graphics的FromImage方法创建一个画布,同时设置画布的宽和高,然后通过Graphics类的DrawString方法随机生成的字符串绘制到画布中,绘制验证码的同时,在画布中利用SetPixel方法绘制一些色点,从而防止非法人员利用机器人来进行登陆。当我们绘制验证码完毕后,在需要验证码的页面中利用Image空间将其显示出来,Image控件显示验证码的HTML源码设置如下:
<asp:Image ID="Image1" src="CheckCode.aspx" runat="server" Height="20px" Width="80px"/>
注意:当然加入src属性时程序会提示src不是元素Image的有效属性,这不影响程序的执行。由于验证码存放在客户端机器的Cookie中,因此在调用的时候可以将文本框中的数据和Cookie中的数据进行对照。从客户端的机器中取出Cookie值如下代码:HttpCookie cookie=Request.Cookies["CheckCode"];
举个例子:主要有:输入验证码txtCode,显示验证码Image1,提交/取消 btnOk/btnCancel主要代码如下:
(1)在绘制验证码之前,必须生成随机字符串。代码如下:

 1ASP.NET中“字母和数字混合的验证码”详解    private string GenerateCheckCode()
 2

代码比较简单我就不在解释。
(2)字符串生成后,接下来就是将该字符串绘制成图片显示出来。代码如下:

 1ASP.NET中“字母和数字混合的验证码”详解   private void CreateCheckCodeImage(string checkCode)
 2

以上带都是我运行过的,同时参照MSDN文档,大家放心使用。如有错误请联系我QQ:1264373,谢谢!
最好引用比较的代码是:

 1ASP.NET中“字母和数字混合的验证码”详解    protected void Button1_Click(object sender, EventArgs e)
 2    }

相关文章: