BotDetect ASP.NET WebPages CAPTCHA Integration Quickstart

1. Add a Reference to BotDetect

The BotDetect.dll assembly should be referenced. They are included in the BotDetect installation.

2. Show a Captcha Challenge on the Form

Import the BotDetect namespace, include BotDetect styles in page <head>, create a Captcha object and pass it to the Captcha HtmlHelper:
@using BotDetect.Web; 
  […]

  <link href="@BotDetect.Web.CaptchaUrls.Absolute.LayoutStyleSheetUrl"
    rel="stylesheet" type="text/css" />
  </head>

    […]

  
      @{
        Captcha exampleCaptcha = new Captcha("ExampleCaptcha");
        exampleCaptcha.UserInputID = "CaptchaCode";
      }
      @Html.Raw(exampleCaptcha.Html)
  @Html.TextBox("CaptchaCode")
  

3. Check User Input During Form Submission

When the form is submitted, the Captcha validation result must be checked:
  @if ((Request.HttpMethod == "POST"))
        {
          bool isHuman = exampleCaptcha.Validate();
          if (isHuman)
          {
            <span class="correct">Correct!</span>
          }
          else
          {
            <span class="incorrect">Incorrect!</span>
          }
        }

4. Configure Your ASP.NET Application

Update your application configuration (the web.config file):
<system.web>
  <httpHandlers>
    <!-- Register the HttpHandler used for BotDetect Captcha 
      requests -->
    <add verb="GET" path="BotDetectCaptcha.ashx"
      type="BotDetect.Web.CaptchaHandler, BotDetect"/>
  </httpHandlers>
  <!-- Register a custom SessionIDManager for BotDetect Captcha 
    requests -->
  <sessionState mode="InProc" cookieless="AutoDetect" timeout="20" 
    sessionIDManagerType="BotDetect.Web.CustomSessionIdManager, BotDetect"/> 
</system.web>
<system.webServer>
  <validation validateIntegratedModeConfiguration="false"/>
  <handlers>
    <!-- Register the HttpHandler used for BotDetect Captcha 
      requests (IIS 7.0+) -->
    <remove name="BotDetectCaptchaHandler"/>
    <add name="BotDetectCaptchaHandler" preCondition="integratedMode" 
      verb="GET" path="BotDetectCaptcha.ashx"
      type="BotDetect.Web.CaptchaHandler, BotDetect"/>
  </handlers>
</system.webServer>

Other BotDetect ASP.NET CAPTCHA Quickstarts

ASP.NET WebForms Basic CAPTCHA.

ASP.NET MVC CAPTCHA.