ASP CAPTCHA: LanapBotDetectHandler.asp

This is the ASP script used for BotDetect CAPTCHA image and audio request processing. It can be used to easily add CAPTCHA protection to your ASP forms.

By default, it is installed in the
C:\Program Files\Lanapsoft\BotDetect\ASP\v2.0\Samples\ folder.

Full Source Code Listing

<% 
IF Request("Command")="CreateImage" _
  OR Request("Command")="CreateSound" THEN 

  Set objDom = CreateObject("Lanap.BotDetect")

  IF Request("TextStyle")<>"" THEN
    On Error Resume Next
    objDom.TextStyle=CLng(Request("TextStyle"))
    Err.Clear
  END IF

  IF Request("ImageWidth")<>"" THEN
    On Error Resume Next
    objDom.ImageWidth=CLng(Request("ImageWidth"))
    Err.Clear
  END IF

  IF Request("ImageHeight")<>"" THEN
    On Error Resume Next
    objDom.ImageHeight=CLng(Request("ImageHeight"))
    Err.Clear
  END IF

  IF Request("CodeLength")<>"" THEN
    On Error Resume Next
    objDom.CodeLength =CLng(Request("CodeLength"))
    Err.Clear
  END IF

  IF Request("CodeType")<>"" THEN
    On Error Resume Next
    objDom.CodeType =CLng(Request("CodeType"))
    Err.Clear
  END IF  

  IF Request("Format")<>"" THEN
    On Error Resume Next
    objDom.Format =Request("Format")
    Err.Clear
  END IF

  IF Request("Command")="CreateImage" THEN

    Response.Buffer = True
    Response.CacheControl = "no-cache"
    Response.AddHeader "Pragma", "no-cache"
    Response.Expires = -1

    'image format
    IF objDom.Format="JPEG" THEN
      Response.ContentType = "image/jpeg"
    END IF     
    IF objDom.Format="PNG" THEN
      Response.ContentType = "image/png"
    END IF    
    IF objDom.Format="GIF" THEN
      Response.ContentType = "image/gif"
    END IF       
    IF objDom.Format="BMP" THEN
      Response.ContentType = "image/bmp"
    END IF  

    varPicture=objDom.CreateImage
    Response.BinaryWrite  varPicture  

    Dim HashValue
    HashValue=objDom.GetHashValue 
    Dim Value
    Value=objDom.GetValue 
    Session("LanapBotDetectCodeHash")=hashValue
    Session("LanapBotDetectCode")=Value
    
  END IF

  IF Request("Command")="CreateSound" THEN
	
    IF Request.ServerVariables("HTTPS") = "off" THEN
      Response.CacheControl = "no-cache"
      Response.AddHeader "Pragma", "no-cache"
      Response.Expires = -1
    END IF  
    
    Response.Buffer = True
    Response.ContentType = "audio/x-wav"
    Response.AddHeader "content-disposition", _
      "attachment; filename=captcha.wav"
    Response.AddHeader "Content-Transfer-Encoding", "binary"
    Response.AddHeader "Connection", "Close"
    
    Dim code
    code = Session("LanapBotDetectCode")
    varSound=objDom.CreateSoundFromCode(code)
    Response.BinaryWrite  varSound  

  END IF

  Set objDom = nothing 
  Response.End

END IF
%>
letter
about