ASP Classic CAPTCHA Randomization VBScript Code Sample

The ASP Classic Captcha randomization sample project shows how to easily randomize various BotDetect CAPTCHA Captcha control parameters, beyond the basic image and sound style randomization used by default.

First Time Here?

Check the BotDetect Developer Crash Course for key integration steps.

Randomly using different CAPTCHA image and sound generation algorithms and other parameter values (such as code length and style) can significantly improve the CAPTCHA security.

This is the recommended approach to Captcha property setting, since it takes full advantage of the 60 CAPTCHA image and 10 CAPTCHA sound generation algorithms shipped with BotDetect, as well as built-in randomization features.

Setting Captcha control properties in the BotDetect/CaptchaConfig.asp file also reduces the amount of Session State used by the control.

Download the BotDetect Classic ASP CAPTCHA Component and run this sample

Installed Location

By default, the Classic ASP basic Captcha sample project is installed at:
C:\Program Files\Lanapsoft\BotDetect 3 CAPTCHA Component\Asp\WebApp\CaptchaRandomizationSample

You can also run it from the BotDetect Start Menu:
Programs > Lanapsoft > BotDetect 3 CAPTCHA Component > ASP > Web Applications > Run

Default.asp

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.
w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
  <title>BotDetect ASP CAPTCHA Randomization Sample</title>
  <link type="text/css" rel="Stylesheet" href="StyleSheet.css" />
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  <!-- #include file ="BotDetect.asp" -->
</head>
<body>
  <form method="post" action="" id="form1">

    <h1>BotDetect ASP CAPTCHA Randomization Sample</h1>
    
    <fieldset>
      <legend>ASP CAPTCHA validation</legend>
      <label for="CaptchaCode">Retype the characters from the picture:
      </label>
      
      <% ' Adding BotDetect CAPTCHA to the page 
        Dim SampleCaptcha : Set SampleCaptcha = (New Captcha)("SampleCaptcha")
        SampleCaptcha.UserInputID = "CaptchaCode"
        Response.Write SampleCaptcha.Html %>
      
      <div class="validationDiv">
        <input name="CaptchaCode" type="text" id="CaptchaCode" />
        <input type="submit" name="ValidateCaptchaButton" 
        value="Validate" id="ValidateCaptchaButton" />
        
        <% ' CAPTCHA user input validation (only if the form was 
        sumbitted)
          If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
            Dim isHuman : isHuman = SampleCaptcha.Validate()
            If Not isHuman Then 
              ' CAPTCHA validation failed, show error message
              Response.Write "<span class=""incorrect"">Incorrect code
              </span>"
            Else 
              ' CAPTCHA validation passed, perform protected action
              Response.Write "<span class=""correct"">Correct code
              </span>"
            End If 
          End If
        %>
      </div>
    </fieldset>

  </form>
</body>
</html>

BotDetect\CaptchaConfig.asp

<%

' Captcha code configuration
' ---------------------------------------------------------------------
' code length randomization
LBD_Configuration_CodeLength = LBD_RandomFromRange(4, 6)

' code style randomization
LBD_Configuration_CodeStyle = LBD_CodeStyles(LBD_RandomFromValues(
LBD_CodeStyleNames))

' code style randomization alternative
'LBD_Configuration_CodeStyle = LBD_RandomFromRange(0, 2)

LBD_Configuration_CodeTimeout = 1200
LBD_Configuration_Locale = "en-US"
LBD_Configuration_CustomCharset = ""
LBD_Configuration_BannedSequences = ""


' Captcha image configuration
' ---------------------------------------------------------------------
' image style randomization
Dim imageStyleNames(8)
imageStyleNames(0) = "Lego"
imageStyleNames(1) = "MeltingHeat"
imageStyleNames(2) = "Ghostly"
imageStyleNames(3) = "Fingerprints"
imageStyleNames(4) = "Graffiti2"
imageStyleNames(5) = "Bullets2"
imageStyleNames(6) = "CaughtInTheNet2"
imageStyleNames(7) = "Collage"
imageStyleNames(8) = "Chalkboard"
LBD_Configuration_ImageStyle = LBD_ImageStyles(LBD_RandomFromValues(
imageStyleNames))

' image style randomization alternative
'Dim imageStyles(8)
'imageStyles(0) = 28 'Lego
'imageStyles(1) = 36 'MeltingHeat
'imageStyles(2) = 44 'Ghostly
'imageStyles(3) = 25 'Fingerprints
'imageStyles(4) = 39 'Graffiti2
'imageStyles(5) = 49 'Bullets2
'imageStyles(6) = 47 'CaughtInTheNet2
'imageStyles(7) = 42 'Collage
'imageStyles(8) = 31 'Chalkboard 
'LBD_Configuration_ImageStyle = LBD_RandomFromValues(imageStyles)

LBD_Configuration_ImageWidth = 250
LBD_Configuration_ImageHeight = 50
LBD_Configuration_ImageFormat = 0
LBD_Configuration_CustomDarkColor = ""
LBD_Configuration_CustomLightColor = ""
LBD_Configuration_HelpLinkEnabled = True
LBD_Configuration_HelpLinkUrl = "http://captcha.biz/captcha.html"
LBD_Configuration_ImageTooltip = "CAPTCHA"


' Captcha sound configuration
' ---------------------------------------------------------------------
LBD_Configuration_SoundEnabled = True

' sound style randomization
Dim soundStyleNames(2)
soundStyleNames(0) = "Dispatch"
soundStyleNames(1) = "Radio"
soundStyleNames(2) = "Synth"
LBD_Configuration_SoundStyle = LBD_SoundStyles(LBD_RandomFromValues(
soundStyleNames))

' sound style randomization alternative
'Dim soundStyles(2)
'soundStyles(0) = 1 'Dispatch
'soundStyles(1) = 5 'Radio
'soundStyles(2) = 9 'Synth
'LBD_Configuration_SoundStyle = LBD_RandomFromValues(soundStyles)

LBD_Configuration_SoundFormat = 0
LBD_Configuration_SoundTooltip = "Speak the CAPTCHA code"
LBD_Configuration_SoundIconUrl = "BotDetect/SoundIcon.gif"
LBD_Configuration_SoundPackageFolder = "C:\Program Files (x86)
\Lanapsoft\BotDetect 3 CAPTCHA 
Component\Asp\Redistribute\BotDetectSounds"
LBD_Configuration_WarnAboutMissingSoundPackages = True


' Captcha reload configuration
' ---------------------------------------------------------------------
LBD_Configuration_ReloadEnabled = True
LBD_Configuration_ReloadTooltip = "Reload the CAPTCHA code"
LBD_Configuration_ReloadIconUrl = "BotDetect/ReloadIcon.gif"
LBD_Configuration_AutoReloadExpiredCaptchas = True
LBD_Configuration_AutoReloadTimeout = 7200


' Captcha user input  configuration
' ---------------------------------------------------------------------
LBD_Configuration_AutoFocusInput = True
LBD_Configuration_AutoClearInput = True
LBD_Configuration_AutoLowercaseInput = True


' Captcha persistence configuration
' ---------------------------------------------------------------------
Dim LBD_Persistence : Set LBD_Persistence = Session
LBD_Configuration_UseApplicationFallback = True

%>