用户注册或登录时,为了进一步保证安全性,越来越多的网站开始采用动态生成的图形码或附加码进行验证。验证码技术就是在服务器端,生成一个随机数,并保存在内存中,然后将随机数写入设计好的图片中,发送给浏览器,并以图片形显示给最终用户。
这里将实现的是数字验证码技术,即随机生成4位数字做为验证码。在开发绘制会员登录验证模块时使用数字验证码技术。
主要关键技术就是应用GDI+绘制验证码图片,并将其显示在验证图片中的数字绘制成彩色。在绘制验证码的同时,在画布中利用SetPixel方法绘制一些色点,以防止非法人员通过机器人软件进行强行登录。SetPixel方法的基本语法如下:
public void SetPixel(int x,int y,Color color)
参数说明:
x:要设置的像素的x坐标。
y:要设置的像素的y坐标。
color:它表示要分配给指定像素的颜色。
主要开发过程:
(1)新建一个网站,将其命名为Number,将默认主页为Default.aspx更改成MumberValidate.aspx。然后再创建一个新的窗体将其命名为checkCode.aspx,用来实现纯数字验证码的生成。
(2)在checkCode.aspx页面的Page_Load事件中,主要调用了编写的公共类CheckCode中的DrawImage()方法实现绘制彩色的数字验证码,在DrawImage()方法中生成验证图片的checkCodes()方法代码如下:
注:稍后一段时间里将会继续讲解:
绘制数字与字母组合的验证码、
绘制中文彩色验证码
仿Google绘制数字、字母和中文扭曲验证码
在随机选中的图片上绘制混合验证码
智能语音提示验证码
简单的四则(加、减、乘和除)运算验证码
利用Web Server服务生成验证码
应用LINQ提取数据库中字段值绘制验证码