ASP Classic CAPTCHA Randomization VBScript Code Sample (BotDetect v3.0; deprecated)
The ASP Classic Captcha randomization code sample shows how to easily randomize various BotDetect CAPTCHA Captcha
control parameters, beyond the basic image and sound style randomization used by default.
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.
Installed Location
By default, the Classic ASP basic Captcha code sample 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 submitted) 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>
The form follows the basic procedure for adding Captcha protection to ASP forms.
BotDetect\CaptchaConfig.asp
<% ' Captcha code configuration ' --------------------------------------------------------------------------- ' code length randomization LBD_Configuration_CodeLength = LBD_RandomFromRange(3, 5) ' Captcha code style randomization, option 1: randomly use all possible code styles 'LBD_Configuration_CodeStyle = LBD_RandomCodeStyle() ' Captcha code style randomization, option 2: randomly choose from the given ' set of code styles 'Dim codeStyleNames(2) 'codeStyleNames(0) = "Alpha" 'codeStyleNames(1) = "Numeric" 'LBD_Configuration_CodeStyle = LBD_RandomCodeStyleFrom(codeStyleNames) ' Captcha code style randomization, option 3: dependent on code length Select Case LBD_Configuration_CodeLength Case 3 LBD_Configuration_CodeStyle = LBD_CodeStyles("Alphanumeric") Case 4 LBD_Configuration_CodeStyle = LBD_CodeStyles("Alpha") Case 5 LBD_Configuration_CodeStyle = LBD_CodeStyles("Numeric") End Select 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_RandomImageStyleFrom(imageStyleNames) LBD_Configuration_ImageWidth = 250 LBD_Configuration_ImageHeight = 50 LBD_Configuration_ImageFormat = LBD_ImageFormats("JPEG") LBD_Configuration_CustomDarkColor = "" LBD_Configuration_CustomLightColor = "" LBD_Configuration_ImageTooltip = "CAPTCHA" LBD_Configuration_HelpLinkEnabled = True LBD_Configuration_HelpLinkMode = LBD_HelpLinkModes("Image") LBD_Configuration_HelpLinkUrl = "" LBD_Configuration_HelpLinkText = "" ' Captcha sound configuration ' --------------------------------------------------------------------------- LBD_Configuration_SoundEnabled = True ' sound style randomization Dim soundStyleNames(2) soundStyleNames(0) = "Dispatch" soundStyleNames(1) = "RedAlert" soundStyleNames(2) = "Synth" LBD_Configuration_SoundStyle = LBD_RandomSoundStyleFrom(soundStyleNames) LBD_Configuration_SoundFormat = LBD_SoundFormats("WavPcm16bit8kHzMono") LBD_Configuration_SoundTooltip = "Speak the CAPTCHA code" LBD_Configuration_SoundIconUrl = "BotDetect/SoundIcon.gif" LBD_Configuration_SoundPackageFolder = "C:\Program Files\Lanapsoft\BotDetect 3 CAPTCHA Component\Asp\Redistribute\BotDetectSounds" LBD_Configuration_WarnAboutMissingSoundPackages = True LBD_Configuration_SoundStartDelay = 0 LBD_Configuration_SoundRegenerationMode = LBD_SoundRegenerationModes("Limited") ' Captcha reload configuration ' --------------------------------------------------------------------------- LBD_Configuration_ReloadEnabled = True LBD_Configuration_ReloadTooltip = "Change 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_AutoUppercaseInput = True ' Captcha remote script configuration ' --------------------------------------------------------------------------- LBD_Configuration_RemoteScriptEnabled = True ' Captcha persistence configuration ' --------------------------------------------------------------------------- Dim LBD_Persistence : Set LBD_Persistence = Session LBD_Configuration_UseApplicationFallback = True %>
The ASP Captcha library configuration file defines base Captcha settings for the sample, including Captcha randomization rules.
Randomized settings use the Captcha randomization functions and general helper functions included in the Captcha library.
Please Note
The information on this page is out of date and applies to a deprecated version of BotDetect™ CAPTCHA (v3.0).
An up-to-date equivalent page for the latest BotDetect Captcha release (v4) is BotDetect v4 Captcha documentation index.
General information about the major improvements in the current BotDetect release can be found at the What's New in BotDetect v4.0 page.
Current BotDetect Versions
-
BotDetect ASP.NET CAPTCHA
2019-07-22v4.4.2 -
BotDetect Java CAPTCHA
2019-07-22v4.0.Beta3.7 -
BotDetect PHP CAPTCHA
2019-07-22v4.2.5