Кохановский модуль каптчи мне не сильно понравился потому сделал по-своему.
<form method="post">
------
<img src="/public/img/noise.php" width="120" height="50">
<input name="pr" type="text">
------
</form>
<?php
$im = imageCreateFromJPEG ('noise.jpg');//noise.jpg фон каптчи рисуем сами или ищем в гугл
$black = imagecolorallocate($im, 64, 64, 64);
// Включаем сглаживание
imageantialias($im, true);
// Число символов
$nChars = 5;
// Случайная строка
$randStr = substr(md5(uniqid()), 0, $nChars);
setcookie("cap", $randStr,'0','/'); //для особо обеспокоеных безопасностью куки можна шифровать
// Координаты
$x = 20;
$y = 30;
$deltaX = 40;
for ($i=0; $i <strlen($randStr); $i++)
{
$size = rand(18, 30);
$angle = -30 + rand(0,60);
imageTTFText($im, $size, $angle, $x, $y, $black, '/fonts/bellb.ttf', //Путь к шрифтам
$randStr{$i});
$x += $deltaX;
}
header("Content-type: image/jpeg");
imageJPEG($im, "", 75);
?>
if ($_SERVER["REQUEST_METHOD"] == "POST")
{
if ($_COOKIE['cap'])
{
$rand = $_POST["pr"];
if ($rand == $_COOKIE['cap'])
{
Ok!
}
}
}