于晓静 管建和
摘 要 本文介绍了一种实现图片验证码的技术及其方法。它可以有效防止非法用户进行程序恶意登录进行破坏等问题。
关键词 C# ,验证码,随机数,前景噪音点,背景噪音线
一、引言
在网站登录、发表评论时,往往都需要用户输入验证码。图片验证机制就是指根据一定的随机数产生算法来产生的一串随机数字或符号,并加入一些干扰像素最终生成相应的用于验证的图片。只有当用户肉眼识别出其中的验证码信息,输入表单并提交网站验证,验证成功后才能使用该网站提供的某项特定功能。验证码的主要用途是用于防止有人利用机器人自动批量注册、对特定的注册用户用特定程序暴力破解方式进行不断的登录、灌水。在一些常见的大型网站,例如百度贴吧,用户在未登录的情况下进行发贴就需要输入验证码,这样可以避免某些恶意的大规模匿名回帖的攻击。对于服务器本身来讲,如果不能有效验证并拒绝非法操作,就会导致其系统资源的严重耗费、降低网站性能甚至使程序崩溃。一般来讲,自动注册或者表单自动填写程序不能有效的识别图片验证码中的数字或字符,因此从一定程度上实现了阻挡攻击的作用。
二 、实现方法及关键技术
下面针对界面设计、页面初始化等有关方面所涉及的图片验证码的实现方法和技术介绍如下:
1.界面设计
首先在页面Default.aspx上添加两个Button控件、一个TextBox控件、一个Image控件、一个验证控件,它们的名称分别为ChangeButton、Sure、Validate、ValidateImage、rfv。ChangeButton用来生成另一张图片。其中控件Validator用来输入验证码,rfv用来实现验证码的非空验证,Image用来显示验证码字符串。页面Default.aspx的设计界面如图1所示:
|