DbHelp.ru
Маленький Yii блог
Комментарии
Гость: Выдаёт пустую страницу.
Wa1deMar: У меня при регестрации выбивает ошибку Пользователь н...
Гость: а где исходники? http://www.yii.dbhelp.ru/files/step8/blog-8.zip
Гость: так я выставил N=1 и получается что роботу надо раз 10 про...
r-bezhenar: Не знал куда написать. Подскажите пожалуйста как лучш...



Сервер Ultima Online - Forest Wars (от создателя данного блога)

Изменяем нашу каптчу (captcha)

Рубрика: Работаем с капчей (captcha)

Оцените эту статью:

Рейтинг: 0.00 (0)
17 Апр. 2009
Опубликовать в Twitter Написать в Facebook Опубликовать в своем блоге livejournal.com

Yii Framework Blog img http://dbhelp.rucap2 Давайте сегодня немного поработаем со всевозможными настройками которые нам предоставляет стандартный класс для работы с капчей (CCaptcha).

---

Давайте для начала договоримся что у вас на сайте уже есть страница с установленной капчей. Если вы не умеете её устанавливать – прочитайте мой урок «Установка капчи на страницу».

Теперь заходим в ваш контроллер и находим там:

public function actions()
{
    return array(
    …
        'captcha'=>array(
            'class'=>'CCaptchaAction',
            'backColor'=> 0xFFFFFF,
            …
        ),
    …
    );
}


Это стандартный пример того как выводить капчу на страницу. Если вы были внимательный, то уже уловили что настройки капчи задаются в этом месте в виде «настройка» => «значение».

Yii Framework Blog img http://dbhelp.rucap1 Немного поигравшись и поменяв параметр backColor мы можем добавится что бы фон капчи стал черным:

'backColor'=> 0x000000

 Или красным:

'backColor'=> 0xFF0000

Yii Framework Blog img http://dbhelp.rucap2Теперь что б не было проблем с некоторыми фонами – давайте научимся менять цвет текста в капче. Для этого существует параметр «foreColor». Для того чтобы цвет капчи был черным, а цвет текста белым – наш конфиг будет выглядеть следующим образом:

public function actions()
{
    return array(
        'captcha'=>array(
            'class'=>'CCaptchaAction',
            'backColor'=> 0x000000, // Код черного цвета
            'foreColor'=> 0xFFFFFF, // Код белого цвета
        ),
    );
}


Мне к примеру нравится белый текст на красном фоне:

            'backColor'=> 0xFF0000, // Код красного цвета
            'foreColor'=> 0xFFFFFF, // Код белого цвета

Теперь что тоже нам может понадобится – это количество генерируемых букв. Для того чтобы изменить эту настройку – у нас есть сразу две опции maxLength (максимальное кол-во символов) и minLength (минимальное кол-во символов).

Если мы хотим что бы на капче отображалось от двух до пяти букв (случайно) – тогда наш конфиг выглядит вот так:

public function actions()
{
    return array(
        'captcha'=>array(
            'class'=>'CCaptchaAction',
            'backColor'=> 0xFF0000,
            'maxLength'=> 5,
            'minLength'=> 2,
            'foreColor'=> 0xFFFFFF,
        ),
    );
}

Если вам надо постоянное кол-во символов как у меня (всегда 4 символа на капче), тогда просто введите одинаковые значения в этим параметры:

            'maxLength'=> 4,
            'minLength'=> 4,

Yii Framework Blog img http://dbhelp.rucap3В принципе на этом всем можно было бы закончить наш урок, но нет. Есть специальные опции так сказать для истинных извращенцев. Значение «width» и «height» позваляет нам растянуть капчу на указанное значение ширены/высоты. Эти параметры могут показать вам полезными если вы хотите указать в капче 10 и более символов и они просто не вмещаются в стандартный размер. Задаются эти параметры как и все другие следующим образом:

            'width'=> 200,
            'height'=> 50,

Я думаю это все что я могу рассказать вам по изменению дизайна капч.
Следите и дальше за статьями по этой теме.

 



Если хотите опубликовать этот материал у себя - пожалуйста, разместите ссылку на страницу откуда вы его взяли.
Другие yii статьи:

  1. Сегодня на нашем блоге добавилась дополнительная функция – компактная RSS лента новостей. Она была реализована в виде отдельного компонента, который ... "У нас появилась RSS лента "

  2. Это руководство предназначено для более-менее продвинутых пользователей. Если вы только что начали работу с Yii Framework-ом, вам стоит вернутся ... "Многоязычность субдоменов и URL-правила"

  3. Интеграция Zend/Pdf в Yii Framework... next   Введение Yii является одним из распостраненных PHP фреймворков. В этой статье мы рассмотрим пример инт ... "Отображаем PDF на Yii при помощи Zend"

romanoza

Было сказано: Суббота, 18 Апрель 2009

Лучше расскажи, как вот такую подсунуть: http://habrahabr.ru/blogs/php/28151/

:)

[adm] zolter

Было сказано: Суббота, 18 Апрель 2009

Спасибо за наводку,
поковыряю и если получится то будет статья :)

[adm] zolter

Было сказано: Суббота, 18 Апрель 2009

http://www.dbhelp.ru/yii-3d-captcha/page/

Читай, рассказал как подсунуть :)

[guest] Гость

Было сказано: Суббота, 25 Апрель 2009

maxLength (минимальное кол-во символов) и minLength (максимальное кол-во символов).


Исправь опечатку.

[adm] zolter

Было сказано: Вторник, 28 Апрель 2009

Спасибо, исправил

[guest] greatdane

Было сказано: Пятница, 21 Январь 2011

'maxLength'=> 2,
'minLength'=> 5,

У вас максимальное меньше минимального :-)

[guest] zolter

Было сказано: Пятница, 21 Январь 2011

Ждал как быстро заметят ) Спс)

Оставить комментарий


Код:
Имя: