Тема: Генер
Показать сообщение отдельно

  #7  
Старый 30.05.2007, 22:54
siw
Новичок
Регистрация: 07.05.2007
Сообщений: 28
Провел на форуме:
171977

Репутация: 54
Отправить сообщение для siw с помощью ICQ
Cool

PHP код:
<?
session_name
('sid');
session_start();
session_register('string');
session_register('name_pic');
error_reporting(0);
echo 
"<html>";
echo 
"<body bgcolor=white>";
$go $_POST['go'];
$code md5($_POST['code']);
$str $_SESSION['string'];
$name $_SESSION['name_pic'];
unlink ("".$name.".jpg");

if(isset(
$go))
{
 if(
$code==$str)
 echo 
"correct";
  if(
$code!=$str)
   echo 
"not correct!";
}
else
{
echo 
"<p>Введите текст с этой картинки:<br>";
echo 
"<form method=post>";
 
$n=mt_rand(4,9);  //количество символов
 
$str="abc"//строка
 // имеем 3 диапазона символов: 0-9,A-Z,a-z
 //вычисляем диапазон каждого символа и прсваиваем ему случайное значение в нужном диапазоне
 
for($i=0;$i<$n;$i++)
 {
  
$d=mt_rand(0,2); //диапазон
  
if($d==0$str[$i]=chr(mt_rand(48,57));
  if(
$d==1$str[$i]=chr(mt_rand(65,90));
  if(
$d==2$str[$i]=chr(mt_rand(97,122));
  }
$_SESSION['string'] = md5($str);
$im=imagecreate(300,50);
imagecolorallocate($im,mt_rand(10,255),mt_rand(10,255),mt_rand(10,255));
imagestring($im,mt_rand(3,5),mt_rand(0,300-$n*10),mt_rand(20,35),$str,mt_rand(1,15));
$name rand(000000,999999);
$_SESSION['name_pic'] = $name;
imagejpeg($im"".$name.".jpg");
imagedestroy($im);
echo 
"<img src='".$name.".jpg'/><br/>";
echo 
"<input type=text name=code value=''/>";
echo 
"<input type='submit' name='go' value='Submit'/>";
echo 
"</form>";
}
echo 
"</p></body></html>";
?>
Только не забудь про фильтрацию переменных

Последний раз редактировалось siw; 31.05.2007 в 16:34.. Причина: пожалуй не хватает мд5, и удаление картики не помешает...
 
Ответить с цитированием