From 35ee83443f771f3ba792515de16bbcca2f9da561 Mon Sep 17 00:00:00 2001 From: Ed Kraus <eddybaur@users.sourceforge.net> Date: Thu, 2 Jul 2009 13:25:00 +0000 Subject: [PATCH] Captcha completed for Default Style! unfortuantly that's not universial... git-svn-id: https://webim.svn.sourceforge.net/svnroot/webim/trunk@565 c66351dc-e62f-0410-b875-e3a5c0b9693f --- src/messenger/webim/create_image.php | 66 +++++++++++++++++++ src/messenger/webim/locales/en/properties | 3 +- .../styles/default/templates/leavemessage.tpl | 11 ++++ 3 files changed, 79 insertions(+), 1 deletion(-) create mode 100755 src/messenger/webim/create_image.php diff --git a/src/messenger/webim/create_image.php b/src/messenger/webim/create_image.php new file mode 100755 index 00000000..7a38c7d5 --- /dev/null +++ b/src/messenger/webim/create_image.php @@ -0,0 +1,66 @@ +<? +/* + This is PHP file that generates CAPTCHA image for the How to Create CAPTCHA Protection using PHP and AJAX Tutorial + + You may use this code in your own projects as long as this + copyright is left in place. All code is provided AS-IS. + This code is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + + For the rest of the code visit http://www.WebCheatSheet.com + + Copyright 2006 WebCheatSheet.com + +*/ + +//Start the session so we can store what the security code actually is +session_start(); + +//Send a generated image to the browser +create_image(); +exit(); + +function create_image() +{ + //Let's generate a totally random string using md5 + $md5_hash = md5(rand(0,999)); + //We don't need a 32 character long string so we trim it down to 5 + $security_code = substr($md5_hash, 15, 5); + + //Set the session to store the security code + $_SESSION["security_code"] = $security_code; + + //Set the image width and height + $width = 100; + $height = 20; + + //Create the image resource + $image = ImageCreate($width, $height); + + //We are making three colors, white, black and gray + $white = ImageColorAllocate($image, 255, 255, 255); + $black = ImageColorAllocate($image, 0, 0, 0); + $grey = ImageColorAllocate($image, 204, 204, 204); + + //Make the background black + ImageFill($image, 0, 0, $black); + + //Add randomly generated string in white to the image + ImageString($image, 3, 30, 3, $security_code, $white); + + //Throw in some lines to make it a little bit harder for any bots to break + ImageRectangle($image,0,0,$width-1,$height-1,$grey); + imageline($image, 0, $height/2, $width, $height/2, $grey); + imageline($image, $width/2, 0, $width/2, $height, $grey); + + //Tell the browser what kind of file is come in + header("Content-Type: image/jpeg"); + + //Output the newly created image in jpeg format + ImageJpeg($image); + + //Free up resources + ImageDestroy($image); +} +?> \ No newline at end of file diff --git a/src/messenger/webim/locales/en/properties b/src/messenger/webim/locales/en/properties index f798c4f9..4098f1ee 100644 --- a/src/messenger/webim/locales/en/properties +++ b/src/messenger/webim/locales/en/properties @@ -112,7 +112,8 @@ errors.invalid.file.type=Invalid file type errors.prefix=<li class="error"> errors.required=Please fill "{0}". errors.suffix=</li> -errors.wrong_field=Please fill "{0}" correctly. +errors.wrong_field=Please fill "{0}" correctly. +errors.captcha=Captcha is incorrect! features.saved=Features activated form.field.address.description=Ex: 12.23.45.123 or todo.com form.field.address=Visitor's Address diff --git a/src/messenger/webim/styles/default/templates/leavemessage.tpl b/src/messenger/webim/styles/default/templates/leavemessage.tpl index 5a710905..3fa278cd 100644 --- a/src/messenger/webim/styles/default/templates/leavemessage.tpl +++ b/src/messenger/webim/styles/default/templates/leavemessage.tpl @@ -115,8 +115,19 @@ ${endif:errors} <td class="text">${msg:form.field.message}:</td> <td height="120" valign="top"> <textarea name="message" tabindex="0" cols="40" rows="8" style="border:1px solid #878787; overflow:auto">${form:message}</textarea> + </tr> + <td> + <img id="imgCaptcha" src="create_image.php" /> + </td><td> + <input id="txtCaptcha" type="text" name="txtCaptcha" value="" maxlength="10" size="32" /> </td> </tr> + + </tr> + </td> + </tr> + <tr> + </tr> <tr> <td colspan="2" align="right"> <table cellspacing="0" cellpadding="0" border="0">