The main idea of a Captcha
(completely automated public Turing test to tell computers and humans apart) is to prevent automated form submission.
This project is a very short VB Script source code, which let's you generate
gif, jpg or png images with text which most people can easily read and enter to a form field,
but automated computer program cannot.
About this project
Some weeks ago I had really need this simple test for ASP (and ASP.Net also), but I found
only some very long codes with css or some script generating bmp images. I have decided to create some code
with a public object, usually installed on hostings. One of them is a Chart object from
Office web components
So I created a short include generating a "human testing" images and
some form samples written in ASP.
You can download them from motobit.com
The code is free.
Please include a next link on your pages if you use this include or samples:
This site is using
title="Captcha ASP image test against automated form
submission">Captcha for ASP</a>
Using this VBScript code and includes
This project contains one ASP include, _captcha.asp
and several samples. Please take a look at sample1 folder, form-session.asp sample.
form-session.asp generates a random text (using RandomText function from _captcha.asp),
which is stored to a session.
session("checktext") = RandomText(5)
and the source form in form-session.asp contains one more text field named imagecheck:
<input type="text" name="imagecheck" size="5" />
Generate-captcha.asp script creates a GIF image with the random text, using textToGIF function and BinaryWrite method.
response.ContentType = "image/gif"
form-session.asp accepts form dat then and checks validity of text written by client.
if len(request("imagecheck"))>0 and _
ucase("" & request("imagecheck")) = ucase("" & session("checktext")) then
response.write "The form was accepted."
You can see more technical details on How it works
Install office web components
Office web components from MS site.
2. Install the software on your server (run owc10.exe or owc11.exe on your server)
or install it manually.
- unpack the owc11.exe file using 'owc11.exe /C /T:c:\temp
- unpack OWC11.DLL (OWC10.DLL) from the msi package
- copy OWC11.DLL (OWC10.DLL) to your server and register the DLL by 'regsvr32 OWC11.DLL'
Remember that the Office web components are licensed. Next is a part of OWC license agreement:
1. GRANT OF LICENSE. If You licensed the Software from Your hardware manufacturer, You may install and use one (1) copy of the Software. If You have a valid end user license for Microsoft Office 2003 or any component application of the Microsoft Office System, Microsoft Office XP, Access 2002, Excel 2002, FrontPage 2002, or any other product identified by Microsoft and with which the Software interoperates (the "Licensed Products"), and You licensed the Software from Microsoft, You may use one (1) copy of the Software in accordance with the end user license agreement that accompanied the Licensed Product. If You are not a licensee of any of the Licensed Products, You may only install and use one (1) copy of the Software for the sole purpose of viewing and printing copies of static documents, text and images created with the Software; You cannot make any other use of the Software whatsoever.