凌寒飘香

____成风破浪会有时,直把云帆济沧海!

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: :: 管理 ::
        验证码应用目的:
  为了防止某些别有用心的用户利用机器人(恶意程序)自动注册、自动登录、恶意灌水、恶意增加数据库访问、用特定程序暴力破解密码,可采用验证码技术。
  
  验证码应用原理:
  浏览器应用HTML标准与网站服务器动态联系,在HTML的表单中,基本上都是使用指定有Action的POST方法。如果不应用验证码方法,将很容易被一些别有用心的人利用机器人程序或者盗用Action的恶意程序,实现其个人勾当。应用验证码技术后,可以保护你的服务器,防止这一问题的发生。
  如果要求用户在输入表单内容的时候,还要识读一个由服务器生成的验证码图片并输入该验证码。当服务器收到这样的表单后,首先将用户提交的验证码与Session值(Session值在生成验证码图片是产生)进行比较,根据比较结果判断用户是否为合理使用网站功能。
  
  验证码应用注意事项:
  为了防止电脑OCR读图程序识别和破解验证码,一般需要在合理范围内适当增加对验证码图片的识别难度。目前常用的方法有:数字和字母混合,扭曲翻转字符,增加背景噪点,添加干扰条纹,随机改变字符在图片上的位置,随机改变背景颜色。在增加识别难度上需要掌握好度,用户太难识别验证码了,会影响用户对网站的使用积极性。
  网站应用验证码后,将增大服务器压力,具体表现在两个方面。一是生成验证码会占用服务器CPU时间,二是应用Session会消耗服务器内存。所以,并不是在网站中到处都用。目前应用的比较多的还是在提交表单中使用。
  
  验证码式样:
  本文示例程序可提供的式样及可实现的功能:
  标准式样:
  背景颜色随机变化式样:
  干扰线条随机变化式样:
  干扰噪点随机变化式样:
  扭曲程度随机变化式样:
  首字符位置随机变化式样:
  随机增加3D阴影式样:
  字符数量随机变化式样:
  字体大小随机变化式样:
  
  Yahoo验证码式样:
  
  
  CSDN验证码式样:
  
  
  Sina验证码式样:
  
  
  凤凰网验证码式样:
  
  
  验证码生成方法:
  1、随机产生一定长度的字符;
  2、使用System.Drawing命名空间的Graphics类的方法将字符绘制成图片;
  3、在第二步的基础上,也是应用第二步的方法对图片进行各种操作,使之复杂化,增加识别难度。一般第二不合第三步都是一并进行的。
  
  验证码应用前台程序:
   以下是代码片段:
  <body>
    <form id="form1" runat="server">
    <div>
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    <asp:Image ID="Image1" runat="server" ImageUrl="VerifyChar.aspx" /><br />
    <br />
    <asp:Button ID="Button1" runat="server" Text="提交" /></div>
    </form>
  </body>
程序的核心是,将图片引用的URL指向验证码图片生成程序。
posted on 2006-07-14 23:49  凌寒飘香  阅读(514)  评论(0编辑  收藏  举报