
30.05.2007, 22:54
|
|
Новичок
Регистрация: 07.05.2007
Сообщений: 28
Провел на форуме: 171977
Репутация:
54
|
|
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, и удаление картики не помешает...
|
|
|