Yii: настраиваем капчу

Yii имеет встроенный класс для генерации и валидации капчи, что достаточно удобно.
Давайте рассмотрим как можно настроить цвет, фон капчи под себя.

Сначала всё стандартно, подключаем action в контроллере:

'captcha' => array(
'class' => 'CCaptchaAction',
),

В модели прописываем валидацию:


return array(
array('name, email, subject, body', 'required'),
array('verifyCode', 'captcha', 'allowEmpty'=>!CCaptcha::checkRequirements()),
);

Мы прописали что капча verifyCode будет валидироваться когда CCaptcha::checkRequirements()==true.

Капча выглядет стандартно, сделаем разного цвета буквы и фон.

Обновим:

'captcha' => array(
'class' => 'CCaptchaAction',
'backColor' => 0x444444,
'foreColor'=>0xffffff,
),

backColor — цвет фона
foreColor — цвет текста.

Нужно знать особенность работы капчи — она обновляется только когда вы её введёте неверно.
Если нажимать F5 вы будете видеть всегда одну и ту же картинку.

Чтобы сделать автообновление добавим в теле action контроллера:

$this->createAction('captcha')->getVerifyCode(true);

Теперь капча будет каждый раз новой.

Leave a Comment

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.