JayLewis Posted April 21, 2007 Share Posted April 21, 2007 I have a anti-scripting check on my site, it displays 2 random number or letters. I want it to show just numbers. can anyone help? <? // *** CAPTCHA image generation *** // *** http://frikk.tk *** session_start(); // *** Tell the browser what kind of file is come'n at 'em! *** header("Content-Type: image/jpeg"); // *** Send a generated image to the browser *** create_image(); die(); // *** Function List *** function create_image() { // *** Generate a passcode using md5 // (it will be all lowercase hex letters and numbers *** $md5 = md5(rand(0,9999)); $pass = substr($md5, 10, 2); // *** Set the session cookie so we know what the passcode is *** $_SESSION["pass"] = $pass; // *** Create the image resource *** $image = ImageCreatetruecolor(100, 20); // *** We are making two colors, white and black *** $clr_white = ImageColorAllocate($image, 255, 255, 255); $clr_black = ImageColorAllocate($image, 0, 0, 0); // *** Make the background black *** imagefill($image, 0, 0, $clr_black); // *** Set the image height and width *** imagefontheight(15); imagefontwidth(15); // *** Add the passcode in white to the image *** imagestring($image, 5, 30, 3, $pass, $clr_white); // *** Throw in some lines to trick those cheeky bots! *** imageline($image, 5, 1, 50, 20, $clr_white); imageline($image, 60, 1, 96, 20, $clr_white); // *** Output the newly created image in jpeg format *** imagejpeg($image); // *** Clear up some memory... *** imagedestroy($image); } ?><p> </p> Quote Link to comment Share on other sites More sharing options...
taith Posted April 21, 2007 Share Posted April 21, 2007 <? session_start(); header("Content-Type: image/jpeg"); create_image(); die(); function create_image(){ $pass = rand(10,99); $_SESSION["pass"] = $pass; $image = ImageCreatetruecolor(100, 20); $clr_white = ImageColorAllocate($image, 255, 255, 255); $clr_black = ImageColorAllocate($image, 0, 0, 0); imagefill($image, 0, 0, $clr_black); imagefontheight(15); imagefontwidth(15); imagestring($image, 5, 30, 3, $pass, $clr_white); imageline($image, 5, 1, 50, 20, $clr_white); imageline($image, 60, 1, 96, 20, $clr_white); imagejpeg($image); imagedestroy($image); } ?><p> </p> Quote Link to comment Share on other sites More sharing options...
JayLewis Posted April 21, 2007 Author Share Posted April 21, 2007 Thanks alot man, works a treat! And thanks for the quick relpy JayLewis x Quote Link to comment Share on other sites More sharing options...
taith Posted April 21, 2007 Share Posted April 21, 2007 no prob Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.