ASP Classic CAPTCHA Code Filtering VBScript Code Sample (BotDetect v3.0; deprecated)
The ASP Classic Captcha code filtering code sample shows how to use the new CAPTCHA code filtering functionality added in BotDetect Classic ASP Captcha v3.0.
You can define rules about character sequences you want to avoid using in randomly generated CAPTCHA codes and simply pass them to the Captcha
control.
The BotDetect/CaptchaConfig.asp
file defines a simplified custom character set (using only 'A'
, 'B'
, 'C'
and 'D'
), which helps make the code filtering easier to track in action.
The LBD_Configured_BannedSequences
setting in the same file shows how to create your own banned sequence definitions to suit your application needs. The following sequences will never appear in Captcha codes generated in the sample: D
, AA
, BB
, CC
, ABC
, BCA
, CAB
.
Installed Location
By default, the Classic ASP basic Captcha code sample is installed at:
C:\Program Files\Lanapsoft\BotDetect 3 CAPTCHA Component\Asp\WebApp\CaptchaCodeFilteringSample
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 Code Filtering 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 Code Filtering 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 ' --------------------------------------------------------------------- LBD_Configuration_CodeLength = LBD_RandomFromRange(4, 6) LBD_Configuration_CodeStyle = LBD_CodeStyles("Alphanumeric") LBD_Configuration_CodeTimeout = 1200 LBD_Configuration_Locale = "en-US" LBD_Configuration_CustomCharset = "A,B,C,D" LBD_Configuration_BannedSequences = "d,aa,bb,cc,abc,bca,cab," ' Captcha image configuration ' --------------------------------------------------------------------- LBD_Configuration_ImageStyle = LBD_RandomImageStyle() 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 LBD_Configuration_SoundStyle = LBD_RandomSoundStyle() 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 (x86) \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 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, inlcuding Code filtering setting.
The Captcha code filtering algorithm works as shown in the example.
- If the first character is "a", for second character generation we check:
- all banned sequences of length = 2 starting with "a"
- If the first two characters are "ab", for third character generation we check:
- all banned sequences of length = 3 starting with "ab" AND
- all banned sequences of length = 2 starting with "b"
- If the first three characters are "abc", for fourth character generation we check:
- all banned sequences of length = 4 starting with "abc" AND
- all banned sequences of length = 3 starting with "bc" AND
- all banned sequences of length = 2 starting with "c"
Since Captcha codes are short (usually 4-8 characters), such recursive processing is acceptable performance-wise.
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