Показать сообщение отдельно

  #4  
Старый 16.04.2008, 09:22
.:EnoT:.
Постоянный
Регистрация: 29.05.2007
Сообщений: 850
С нами: 9975266

Репутация: 1916


По умолчанию

Цитата:
Сообщение от Graf I  
Кто может напишите пожалуйста код с антиспамом.( с цифрами 4+2= типо того)
давно ещё брал этот скрипт на ачате, переделывал под себя.
PHP код:
<?php
session_start
();
$shrift = 'my.ttf'; #Шрифт TTF
$width = 80; #Ширина изображения
$height = 30; #Высота изображения
$img= imagecreate($width, $height);
$bl = imageColorAllocate($img, 255, 255, 255);
$z1 = mt_rand(0,9);
$z2 = mt_rand(0,9);
if(
$z1 > $z2)
{
    
$str = $z1.'-'.$z2.'=';
    @
$_SESSION['captcha'] = $z1-$z2;
}
else
{
    
$str = $z1.'+'.$z2.'=';
    @
$_SESSION['captcha'] = $z1+$z2;
}
$bl = imageColorAllocate($img, rand(0, 100), rand(0, 100), rand(0, 100));
imageTtfText($img, 15, rand(-10,10), 0, 15, $bl, realpath($shrift), $str);
header("Content-type: image/jpeg");
imagejpeg($img);
?>
Простой до ужаса, выводит два числа которые нужно сложить или вычесть, юзеру нужно ввести результат.
Вызывается соответственно:
Код:
<img src="script_name.php" alt="" border="0" />
<input type="text" name="img" />
а ещё лучше добавлять случайное число, чтобы картинка не кешировалась.
Проверяется так:
PHP код:
<?php
$img 
= $_POST['img'];
if(
intval($img) != $_SESSION['captcha'])
{
   echo 
'Сумма с картинки введена неправильно';
}
else
{
   echo 
'OK';
}
?>
 
Ответить с цитированием