I'm going to leave it on for awhile longer, just to see what happens. I think I'll end up switching back to the math challenge, but I sure do like the way jcap looks. Oh, and another advantage of the math challenge is that I think it is ADA-compliant, in that it can be read by screen reading software - the CAPTCHA images (at least in this version) cannot.
If you want to try installing and testing yourself, here's the steps I used:
1. Download the zip file from http://www.archreality.com/jcap/jcap.zip
2. Unzip the file (two .js files and one image directory) to your webserver where ever you want them - just remember, because you'll need to reference this location later
3. Modify jcap.js
- line 10: change the imgdir variable path (to the cimg/ directory) to reflect where it will be on your webserver (be sure to keep the trailing slash after the cimg)
Note: I used absolute path (http://www.domain.com/cimg/) instead of a relative path (../cimg/) because this lets you put the captcha on various pages that may be on different levels within your directory structure
4. Modify your html page on which you are including the captcha word verification
- Include in the <head></head> tags these two lines (be sure to modify the path to reflect where ever you put these files on your server:
- Include the attribute below to your <form> tag that processes your script:
(for example, yours might read <form action="http://www.domain.com/cgi-bin/email_ref.cgi" method="post" onsubmit="return jcap();">)
- Include the lines below within your form where you want the word verification to display:
Enter the word seen below:
<input type="text" name="uword" id="uword" value="" size="20">
<input type="hidden" id="required" name="required" value="uword">
Note: I ended up changing the "uword" field name (be sure to also change the field name on lines 84 and 92 of the jcap.js file). My logic was that, since this was the only script out there I could find, spammers probably already know to look for a field named "uword." But even with using a different field name, spam still comes through
Optional Extra Error Checking
This has nothing to do with this particular script, but I added it just for error-checking convenience. This is totally optional. The line below can be added to your submit button tag to make sure people fill in all the right fields - you'll have to edit it to reflect the fields you want to make "required"
Good luck. If anyone has a better solution, please share.