First Open session Session_Start (); Define the foreground display verification code length & width $image _width = 120; $image _height = 40; $characters _on_image = 6; $font = './monofont.ttf '; The characters that can is used in the CAPTCHA code. Avoid confusing characters (l 1 and I for example) $possible _letters = ' 23456789bcdfghjkmnpqrstvwxyz '; $random _dots = 10; $random _lines = 30; $captcha _text_color= "0x142864"; $captcha _noice_color = "0x142864"; Define a string to generate a verification code $code = "; $i = 0; while ($i < $characters _on_image) { $code. = substr ($possible _letters, Mt_rand (0, strlen ($possible _letters)-1), 1); $i + +; } $font _size = $image _height * 0.75; $image = @imagecreate ($image _width, $image _height); /* Setting the background, text and noise colours here */ $background _color = imagecolorallocate ($image, 255, 255, 255); $arr _text_color = Hexrgb ($captcha _text_color); $text _color = imagecolorallocate ($image, $arr _text_color[' red '), $arr _text_color[' green '], $arr _text_color[' Blue '); $arr _noice_color = Hexrgb ($captcha _noice_color); $image _noise_color = imagecolorallocate ($image, $arr _noice_color[' red '), $arr _noice_color[' green '], $arr _noice_color[' Blue '); /* Generating the dots randomly in background */ for ($i =0; $i < $random _dots; $i + +) { Imagefilledellipse ($image, Mt_rand (0, $image _width), Mt_rand (0, $image _height), 2, 3, $image _noise_color); } /* generating lines randomly in background of image */ for ($i =0; $i < $random _lines; $i + +) { Imageline ($image, Mt_rand (0, $image _width), Mt_rand (0, $image _height), Mt_rand (0, $image _width), Mt_rand (0, $image _height), $image _noise_color); } /* Create a text box and add 6 letters code in IT */ $textbox = Imagettfbbox ($font _size, 0, $font, $code); $x = ($image _width-$textbox [4])/2; $y = ($image _height-$textbox [5])/2; Imagettftext ($image, $font _size, 0, $x, $y, $text _color, $font, $code); /* Show CAPTCHA image in the page HTML page */ Header (' content-type:image/jpeg ');//Defining the image Type to being shown in browser widow Imagejpeg ($image);//showing the image Imagedestroy ($image);//destroying the image instance Set session, do validation $_session[' 6_letters_code '] = $code; function Hexrgb ($HEXSTR) { $int = Hexdec ($HEXSTR); Return Array ("Red" = 0xFF & ($int >> 0x10), "Green" 0xFF & ($int >> 0x8), "Blue" 0xFF & $int); } |