Русскоязычный форум, посвященный фреймворку Kohana

Все о фреймворке Kohana. Обсуждение уроков, документации.
Текущее время: 19 мар 2024, 11:32

Часовой пояс: UTC + 4 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: Простая капча
СообщениеДобавлено: 13 сен 2012, 22:06 
Не в сети
Бывалый

Зарегистрирован: 21 май 2012, 20:54
Сообщения: 81
Кохановский модуль каптчи мне не сильно понравился потому сделал по-своему.

В файле вида пишем

Код:
<form method="post">
------
<img src="/public/img/noise.php" width="120" height="50">
<input name="pr" type="text">
------
</form>


Файл рисунка noise.php

Код:
<?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!

               }

          }       

 }

_________________
Меньше кода -> меньше ошибок


Последний раз редактировалось Sergey 15 сен 2012, 21:02, всего редактировалось 1 раз.
Обернул исходники в [code]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Простая капча
СообщениеДобавлено: 12 янв 2013, 16:07 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 24 июл 2012, 18:00
Сообщения: 701
Откуда: Murom, Russia
Кстати, проект Kohana Captcha https://github.com/kolanos/kohana-captcha.git активно развивается последнее время


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC + 4 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Все о фреймворке Kohana  | 
Powered by phpBB® Forum Software © phpBB Group