| .:EnoT:. |
16.04.2008 09:22 |
Цитата:
Сообщение от 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';
}
?>
|