Инструменты пользователя

Инструменты сайта


captcha

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

captcha [2013/02/01 15:04] (текущий)
Строка 1: Строка 1:
 +====== Модуль Captcha ======
 +Homepage: [[https://​github.com/​kolanos/​kohana-captcha|kohana-captcha]]
 +
 +Подключение модуль Captcha к [[Kohana]] версии 3.3.0.
 +
 +  * Подключаем в  bootstrap.php:<​file>​
 +'​captcha' ​ => MODPATH . '​captcha',​ //Captcha
 +</​file>​
 +  * Копируем файл настроек captcha.php в application/​config.
 +  * С переходом Кohana 3.3 на [[standarty_kodirovanija?&#​standart_psr-0_1_2_dlja_php|PSR-0]] нужно все файлы с классами переименовать с большой буквы иначе классы не будут найдены. Также нужно будет переименовать ​ вызываемые классы в модуле Captcha, например вызываемые классы Text, URL и т.д..
 +  * Считываем настройки и создаем объект Captcha в нужном нам контроллере<​file>​
 +        $config = Kohana::​$config->​load('​captcha'​);​
 +        $captcha = Captcha::​instance();​
 +        $captcha_img = $captcha->​render();​
 +        // Выводим в шаблон
 +        $this->​template->​content = $captcha_img
 +</​file>​
 +  * В классе изменяем функцию function image_render($html) <​file>​
 + // Send the correct HTTP header
 +//​Request::​instance()->​headers['​Content-Type'​] = '​image/'​.$this->​image_type;​
 +//​Request::​instance()->​headers['​Cache-Control'​] = '​no-store,​ no-cache, must-revalidate,​
 +//​post-check=0,​ pre-check=0';​
 +//​Request::​instance()->​headers['​Pragma'​] = '​no-cache';​
 +//​Request::​instance()->​headers['​Connection'​] = '​close';​
 +Request::​current()->​headers('​Content-Type',​ '​image/'​.$this->​image_type);​
 +Request::​current()->​headers('​Cache-Control',​ '​no-store,​ no-cache,
 +must-revalidate,​ post-check=0,​ pre-check=0'​);​
 +Request::​current()->​headers('​Pragma',​ '​no-cache'​);​
 +Request::​current()->​headers('​Connection',​ '​close'​);​
 +</​file>​
 +  * View для captcha<​file>​
 +<?= Form::​open('​register'​) ?>
 +<​table>​
 +    <tr>
 +        <​td><?​= $captcha_img ?></​td>​
 +        <​td><?​= Form::​input('​captcha'​) ?></​td>​
 +    </tr>
 +    <tr>
 +        <td colspan="​2"​ align="​center"><?​= Form::​submit('​submit',​ '​Зарегистрироваться'​) ?></​td>​
 +    </tr>
 +</​table>​
 +<?= Form::​close() ?>
 +</​file>​
 +  * Проверка правильности введенной captcha<​file>​
 +        if (isset($_POST['​submit'​])) {
 +$data = Arr::​extract($_POST,​ array('​username',​ '​password',​
 +'​password_confirm',​ '​email',​ '​captcha'​));</​file><​file>​
 +if (Captcha::​valid($data['​captcha'​])) {
 +            ....
 +</​file>​
  
загрузка...
captcha.txt · Последние изменения: 2013/02/01 15:04 (внешнее изменение)