CMS Captcha Code
Status: Beta
Brought to you by:
maxhemi
File | Date | Author | Commit |
---|---|---|---|
bundled_fonts | 2009-05-15 | maxhemi | [r1] initial import |
doc | 2009-05-15 | maxhemi | [r1] initial import |
fonts | 2009-05-15 | maxhemi | [r1] initial import |
sounds | 2009-05-15 | maxhemi | [r1] initial import |
tiles | 2009-05-15 | maxhemi | [r1] initial import |
COPYING | 2009-05-15 | maxhemi | [r1] initial import |
README.txt | 2009-05-15 | maxhemi | [r1] initial import |
audio.php | 2009-05-15 | maxhemi | [r1] initial import |
config.php | 2009-05-15 | maxhemi | [r1] initial import |
image.php | 2009-05-15 | maxhemi | [r1] initial import |
php.ini | 2009-05-15 | maxhemi | [r1] initial import |
Usage Using CMS Captcha is almost as simple as copying the CMS_Captcha directory to your web server. I recommend changing the name of the "CMS_Captcha" directory to something that will not be picked up by CAPTCHA cracking utilities (ex: "vacation", or "logos"). Any page that uses this captcha simply includes an <IMG> tag pointing to the path to "image.php" along with an <INPUT> field for users to type their answer. The script that handles form input reads the correct CAPTCHA string from a session variable called "captchastring" and the user's answer from whatever variable you use for the <INPUT> field. example (HTML form): <IMG SRC="vacation/image.php"><BR> <INPUT TYPE="TEXT" NAME="color"> example (PHP handler): session_start(); session_register('captchastring'); $captchastring=$_SESSION['captchastring']; $userstring=$_POST['color']; if($captchastring==$userstring) { /* success */ } else { /* failure */ } In the example above, I used the name "vacation" for the "CMS_Captcha" directory and "color" for the name of the form input variable to hide the fact that the image is a CAPTCHA and the fact that the input is the user's answer to the CAPTCHA challenge. This makes it difficult for CAPTCHA cracking software to detect that the form uses a CAPTCHA. Configuration Several variables are configurable in the "config.php" script: $fontsize = the font point size you wish to use $pad = the thickness of the surrounding border $maxrot = the maximum rotation in either direction of each character $numchars = the number of characters in the CAPTCHA string $validchars = the characters that may appear in the CAPTCHA string $font = path to TTF font file, if unset, use a random font $texttileimage = path to image for text tile, if unset, random tile $bgtileimage = path to image for background tile, if unset, random $outtype = output image format; png, jpeg, gif Bundled Fonts CMS Captcha comes with 10 bundled fonts ready to go, but there are also some additional styles and license info in the "bundled_fonts" directory. Font Licenses GNU General Public License (GPL) fonts: Hattha_Regular.ttf Kabala.ttf Legendum.ttf SIL Open Font License (OFL) fonts: AndBasR.ttf Acknowledgement.ttf benweiner_-_Puritan_Regular.ttf daller_-_LCDDotMatrix5x8.ttf Inconsolata.ttf okolaks_gBold.ttf rursus_-_Rursus_Compact_Mono.ttf Bundled Tiles CMS Captcha also comes with bundled tile textures in the "tiles" directory. These are all GPL images that come with the GIMP. http://www.gimp.org/ Contributions Being self employed, income can be sporadic. If you find CMS Captcha useful, you might consider sending a contribution to: CyberMan Software PO Box 93135 Rochester, NY 14692-8135