ASP实现加法验证码

将验证码改为加法运算,比如验证码显示“25+64等于?”,那么输入“91”就能通过验证。
来看看效果图对比:字符验证码: → 加法验证码:
优点:
①与纯字符验证码相比,本程序效防止了绝大部分(99%以上)广告机的自动识别。即使是中文验证码, 也能被市面上的部分广告机识别。
②与中文验证码相比,避免了用户输入用户名密码验证码的时候需要切换输入法的麻烦。
说明:该程序需要网站空间支持ASPJpeg组件、楷体_GB2312字体。
代码如下:

<%
Const FontColor = &H000000 ' 字体颜色
Const BgColor = &HFFCCFF ' 背景颜色
Call CreatValidCode("GetCode")
Sub CreatValidCode(pSN)
  Dim x, Jpeg
  Randomize
  x = Array(1+Int(Rnd()*9), Int(Rnd()*10), 1+Int(Rnd()*9), Int(Rnd()*10), 0, 0, "+")
  x(4) = x(0)*10 + x(1)
  x(5) = x(2)*10 + x(3)
  'Session(pSN) = CStr(Eval(x(4) & x(6) & x(5)))
  Session(pSN) = CStr(x(4) + x(5))
  Set Jpeg = Server.CreateObject("Persits.Jpeg")
  Jpeg.New 100,20,BgColor
  Jpeg.Quality=100
  With Jpeg.Canvas
    .Font.Bold = True
    .Font.Size = 16
    .Font.Rotation = 0
    .Font.Family = "楷体_GB2312"
    .Font.Color = FontColor
    .PrintText 4, 3, CStr(x(0))
    .PrintText 14, 3, CStr(x(1))
    .PrintText 26, 3, x(6)
    .PrintText 38, 3, CStr(x(2))
    .PrintText 48, 3, CStr(x(3))
    .Font.Rotation = 15
    .PrintText 55, 3, "等"
    .PrintText 70, 3, "于"
    .PrintText 85, 3, "?"
  End With
  '禁止缓存
  Response.ContentType = "image/jpeg"
  Response.Expires = -9999
  Response.AddHeader "pragma", "no-cache"
  Response.AddHeader "cache-ctrol", "no-cache"
  Response.AddHeader "Content-Disposition","inline; filename=vcode.jpg"
  Jpeg.SendBinary
  Jpeg.Close
  Set Jpeg = Nothing
End Sub
%>

以上就是关于asp实现加法验证码的关键代码,有兴趣的朋友,还可以扩展为其他的运算,比如乘法,减法,乘方等,希望本文对大家的学习有所帮助。

(0)

相关推荐

  • asp.net 简单验证码验证实现代码

    首先是新建一个验证码页面 ValidateCode.aspx 定义变量 这样有利于后期的修改了 复制代码 代码如下: private int codeLen = 4;//验证码长度 private int fineness = 85;//图片清晰度 private int imgWidth = 48;//图片宽度 private int imgHeight = 24;//图片高度 private string fontFamily = "Times New Roman";//字体名称

  • asp.net生成验证码(纯数字)

    CheckCode.cs 复制代码 代码如下: using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.Html

  • asp最简单的生成验证码代码

    为了防止再次被攻击,做个验证码过滤程序是必要的.我在网上找了一些资料,觉得用别人做好的代码总是很不爽,自己做麻又不会写复杂的代码,特别是生成图片的那种.尝试了网上的很多种方法都不行,不知道为什么,可能没经验吧.感觉挺复杂的. 最后花了一个小时写了一个超级简单的验证代码,哈哈绝对原创,只有十几行代码.是随机生成的,因为比较简单所以对付不了那些强大的发帖软件,不过总比没有的好,放上验证码之后观测了几天多是没有见到发垃圾帖了,应该有效吧,哈哈. 例子: ======show.asp====== 复制代

  • asp.net中3种验证码示例(实现代码)(数字,数字字母混和,汉字)

    效果如图所示: Default.aspx 复制代码 代码如下: <table> <tr> <td class="style1">  (验证码测试)</td> <td>   <asp:Label ID="Label1" runat="server"></asp:Label>   <asp:Image ID="Image1" runat=&q

  • ASP.NET MVC验证码功能实现代码

    前台 复制代码 代码如下: <img id="vcodeimg" src="/Home/VCode" width="70"                                    height="25" />                                 <span                                    style="cursor: p

  • asp无组件生成验证码 GIF图片格式

    复制代码 代码如下: <% Option Explicit ' 显示声明 Class Com_GifCode_Class ''''''''''''''''''''''''''''''''''''''''''''' ' Author: Layen support@ssaw.net 84815733(QQ) ' Thanks: Laomi, Laomiao, NetRube ' 2006-01-02 ''''''''''''''''''''''''''''''''''''''''''''' Publ

  • asp.net下中文验证码,免费开源代码

    using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.Ht

  • ASP.NET中的无刷新验证码的开发(完整代码)

    复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Login.aspx.cs" Inherits="Login" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtm

  • asp.net验证码的简单制作

    实际上关于asp.net验证码制作的文章已经很多很多了,但是今天还是要和大家继续分享,亲,可以综合几篇实例,编写出适用于自己网站的ASP.NET验证码,大概也就两大部分: 先建立一个asp.net窗体ValidateCode.aspx:不写任何东西.直接在后台ValidateCode.aspx.cs中写如下代码: protected void Page_Load(object sender, EventArgs e) { string validateCode = CreateValidateC

  • asp.net 图片验证码的HtmlHelper

    一个图片验证码的HtmlHelper,原来的调用代码如下: 复制代码 代码如下: <img id="validateCode" mailto:src='@Url.Action(%22GetValidateCode%22)'/> <script language="javascript" type="text/javascript"> $(document).ready(function () { $("#vali

  • asp.net ajax实现无刷新验证码

    1.首先是在后台验证码的aspx文件的Page_Load中的事件代码: 复制代码 代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Drawing; namespace 学生在线考试系统 { public partial class

  • asp.net(C#) 生成随机验证码的代码

    常用的生成验证码程序 ,图片效果如下:    源程序如下: 复制代码 代码如下: using System;  using System.IO;  using System.Drawing;  using System.Drawing.Imaging;  using System.Text;  using System.Collections;  using System.Web;  using System.Web.UI;  using System.Web.UI.WebControls; 

  • asp.net 验证码生成和刷新及验证

    验证码技术是为了防止暴力破解等而设定的.现在一般的网站注册等都提供验证码功能,特别是腾讯更是长长的一串.文中参考了别人的代码.有了就没有必要再写了.可以读一下.不过我测试时发现了两次PageLoad的问题.注释了两句即可.同时修改了namespaces.同时提供完整的验证说明:1 新建VerifyCode.aspx cs文件代码如下: 复制代码 代码如下: using System; using System.Collections; using System.ComponentModel; u

  • Asp.net(C#)实现验证码功能代码

    新建一个专门用来创建验证码图片的页面ValidateCode.aspx 它的后台cs文件代码如下: PageLoad 复制代码 代码如下: private void Page_Load(object sender, System.EventArgs e) { string checkCode = CreateRandomCode(4); Session["CheckCode"] = checkCode; CreateImage(checkCode); } 其中CreateRandomC

  • ASP.net 验证码实现代码(C#)

    public class ValidateCode : System.Web.UI.Page {   private void Page_Load(object sender, System.EventArgs e)   {    this.CreateCheckCodeImage(GenerateCheckCode());   }   #region Web 窗体设计器生成的代码   override protected void OnInit(EventArgs e)   {    //  

随机推荐