32){ $stringlen = 32; } $stringsize = intval($height/2); $randomsize = intval($stringsize * rand(90,110) * .01); $im = imagecreate($width, $height); $chunksize = $width / $stringlen; $xmax = intval($chunksize * $i + $chunksize) - $rightx; $xmin = intval($chunksize * $i) - $leftx; $ymax = intval($height) - $topy; $ymin = intval($randomsize) - $bottomy; $randx = rand($xmin, $xmax); $randy = rand($ymin, $ymax); $white = imagecolorallocate($im, 255, 255, 255); $black = imagecolorallocate($im, 0, 0, 0); srand((double)microtime()*1000000); $string = md5(rand(0,9999)); $new_string = substr($string, rand(0, 32-$stringlen), $stringlen); $_SESSION['image_verify_string'] = $new_string; imagefill($im, 0, 0, $black); for ($i = 0; $i < $width*$height/10; $i++) { imagesetpixel($im, rand(0,$width), rand(0,$height), $white); } for($i = 0; $i <= 5; $i++) { if($i ==0) { $x = $i + 5 + rand(10,20); } elseif($i == 1){ $x = 25 + rand(10, 20); } elseif($i == 2){ $x = 45 + rand(10, 20); } elseif($i == 3){ $x = 75 + rand(10,20); } elseif($i == 4){ $x = 90 + rand(20,30); } elseif($i == 5){ $x = 130 + rand(20,30); } imagestring($im,$randomsize,$x,rand(3, 25),substr($new_string, $i, 1),$white); } imagepng($im); imagedestroy($im); ?>