Класс yii\captcha\CaptchaAction
| Наследование | yii\captcha\CaptchaAction » yii\base\Action » yii\base\Component » yii\base\Object |
|---|---|
| Реализует | yii\base\Configurable |
| Доступна с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2/blob/master/framework/captcha/CaptchaAction.php |
CaptchaAction отображает изображение CAPTCHA.
CaptchaAction используется вместе с yii\captcha\Captcha и yii\captcha\CaptchaValidator для предоставления функции CAPTCHA.
Настраивая свойства CaptchaAction, вы можете настроить внешний вид сгенерированных изображений CAPTCHA, таких как цвет шрифта, цвет фона и т. д.
Обратите внимание, что CaptchaAction требует либо расширения GD2, либо расширения ImageMagick PHP.
Использование CAPTCHA включает следующие шаги:
- Переопределите yii\web\Controller::actions() и зарегистрируйте действие класса CaptchaAction с идентификатором 'captcha'
- В модели формы объявите атрибут для хранения введённого пользователем кода проверки и объявите, что атрибут должен быть проверен валидатором 'captcha'.
- В представлении контроллера вставьте виджет yii\captcha\Captcha в форму.
Публичные свойства
Публичные методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызывает метод, который не является методом класса. | yii\base\Object |
| __clone() | Этот метод вызывается после создания объекта путем клонирования существующего. | yii\base\Component |
| __construct() | Конструктор. | yii\base\Action |
| __get() | Возвращает значение свойства объекта. | yii\base\Object |
| __isset() | Проверяет, установлено ли свойство, т.е. определено и не равно null. | yii\base\Object |
| __set() | Устанавливает значение свойства объекта. | yii\base\Object |
| __unset() | Устанавливает свойство объекта в null. | yii\base\Object |
| attachBehavior() | Прикрепляет поведение к данному компоненту. | yii\base\Component |
| attachBehaviors() | Прикрепляет список поведений к компоненту. | yii\base\Component |
| behaviors() | Возвращает список поведений, которые должен иметь данный компонент. | yii\base\Component |
| canGetProperty() | Возвращает значение, указывающее, может ли свойство быть прочитано. | yii\base\Object |
| canSetProperty() | Возвращает значение, указывающее, может ли свойство быть установлено. | yii\base\Object |
| className() | Возвращает полное квалифицированное имя этого класса. | yii\base\Object |
| detachBehavior() | Открепляет поведение от компонента. | yii\base\Component |
| detachBehaviors() | Открепляет все поведения от компонента. | yii\base\Component |
| ensureBehaviors() | Убеждается, что поведения, объявленные в behaviors(), прикреплены к данному компоненту. | yii\base\Component |
| generateValidationHash() | Генерирует хэш-код, который может быть использован для проверки на стороне клиента. | yii\captcha\CaptchaAction |
| getBehavior() | Возвращает объект поведения по имени. | yii\base\Component |
| getBehaviors() | Возвращает все прикрепленные к этому компоненту поведения. | yii\base\Component |
| getUniqueId() | Возвращает уникальный идентификатор этого действия в рамках всего приложения. | yii\base\Action |
| getVerifyCode() | Получает код проверки. | yii\captcha\CaptchaAction |
| hasEventHandlers() | Возвращает значение, указывающее, есть ли обработчик, прикрепленный к данному событию. | yii\base\Component |
| hasMethod() | Возвращает значение, указывающее, определен ли метод. | yii\base\Object |
| hasProperty() | Возвращает значение, указывающее, определено ли свойство. | yii\base\Object |
| init() | Инициализирует действие. | yii\captcha\CaptchaAction |
| off() | Отсоединяет существующего обработчика событий от этого компонента. | yii\base\Component |
| on() | Прикрепляет обработчик событий к событию. | yii\base\Component |
| run() | Выполняет действие. | yii\captcha\CaptchaAction |
| runWithParams() | Выполняет это действие со специфицированными параметрами. | yii\base\Action |
| trigger() | Вызывает событие. | yii\base\Component |
| validate() | Проверяет ввод, чтобы убедиться, что он соответствует сгенерированному коду. | yii\captcha\CaptchaAction |
Защищенные методы
| Метод | Описание | Определено в |
|---|---|---|
| afterRun() | Этот метод вызывается сразу после run(). | yii\base\Action |
| beforeRun() | Этот метод вызывается сразу перед run(). | yii\base\Action |
| generateVerifyCode() | Генерирует новый код проверки. | yii\captcha\CaptchaAction |
| getSessionKey() | Возвращает имя переменной сессии, используемой для хранения кода проверки. | yii\captcha\CaptchaAction |
| renderImage() | Отображает изображение CAPTCHA. | yii\captcha\CaptchaAction |
| renderImageByGD() | Отображает изображение CAPTCHA, основанное на коде, используя библиотеку GD. | yii\captcha\CaptchaAction |
| renderImageByImagick() | Отображает изображение CAPTCHA, основанное на коде, используя библиотеку ImageMagick. | yii\captcha\CaptchaAction |
| setHttpHeaders() | Устанавливает HTTP-заголовки, необходимые для ответа изображения. | yii\captcha\CaptchaAction |
Константы
| Константа | Значение | Описание | Определено в |
|---|---|---|---|
| REFRESH_GET_VAR | 'refresh' | Имя параметра GET, указывающего, нужно ли перегенерировать изображение CAPTCHA. | yii\captcha\CaptchaAction |
Подробное описание свойств
$backColor общедоступное свойство
Цвет фона. Например, 0x55FF00. По умолчанию 0xFFFFFF, что означает белый цвет.
public integer $backColor = 0xFFFFFF
$fixedVerifyCode общедоступное свойство
Фиксированный код проверки. Когда это свойство установлено, getVerifyCode() всегда будет возвращать значение этого свойства. Это в основном используется в автоматизированных тестах, где нам нужно иметь возможность воспроизводить тот же код проверки каждый раз при выполнении тестов. Если не установлено, это означает, что код проверки будет случайным.
public string $fixedVerifyCode = null
$fontFile общедоступное свойство
Файл шрифта TrueType. Это может быть либо путь к файлу, либо псевдоним пути.
public string $fontFile = '@yii/captcha/SpicyRice.ttf'
$foreColor общедоступное свойство
Цвет шрифта. Например, 0x55FF00. По умолчанию 0x2040A0 (синий цвет).
public integer $foreColor = 0x2040A0
$height общедоступное свойство
Высота сгенерированного изображения CAPTCHA. По умолчанию 50.
public integer $height = 50
$imageLibrary общедоступное свойство (доступно с версии 2.0.7)
Библиотека для рендеринга. В настоящее время поддерживаются только 'gd' и 'imagick'. Если не установлено, библиотека будет определена автоматически.
public string $imageLibrary = null
$maxLength общедоступное свойство
Максимальная длина случайно сгенерированного слова. По умолчанию 7.
public integer $maxLength = 7
$minLength общедоступное свойство
Минимальная длина случайно сгенерированного слова. По умолчанию 6.
public integer $minLength = 6
$offset свойство public
Смещение между символами. По умолчанию -2. Вы можете изменить это свойство, чтобы уменьшить или увеличить читаемость капчи.
public integer $offset = -2
$padding свойство public
Отступ вокруг текста. По умолчанию 2.
public integer $padding = 2
$testLimit свойство public
Сколько раз должна отображаться одна и та же капча. По умолчанию 3. Значение меньше или равно 0 означает, что проверка не ограничена (доступно начиная с версии 1.1.2).
public integer $testLimit = 3
$transparent свойство public
Использовать ли прозрачный фон. По умолчанию false.
public boolean $transparent = false
$verifyCode свойство public только для чтения
Код проверки.
public string getVerifyCode ( $regenerate = false )
$width свойство public
Ширина сгенерированного изображения капчи. По умолчанию 120.
public integer $width = 120
Подробное описание методов
generateValidationHash() метод public
Генерирует хеш-код, который можно использовать для проверки на стороне клиента.
| public string generateValidationHash ( $code ) | ||
|---|---|---|
| $code | string |
Код капчи |
| return | string |
Хеш-код, сгенерированный из кода капчи |
generateVerifyCode() метод protected
Генерирует новый код проверки.
| protected string generateVerifyCode ( ) | ||
|---|---|---|
| return | string |
Сгенерированный код проверки |
getSessionKey() метод protected
Возвращает имя сеансовой переменной, используемой для хранения кода проверки.
| protected string getSessionKey ( ) | ||
|---|---|---|
| return | string |
Имя сеансовой переменной |
getVerifyCode() метод public
Получает код проверки.
| public string getVerifyCode ( $regenerate = false ) | ||
|---|---|---|
| $regenerate | boolean |
Пересоздавать ли код проверки. |
| return | string |
Код проверки. |
init() метод public
Инициализирует действие.
| public void init ( ) | ||
|---|---|---|
| throws | yii\base\InvalidConfigException |
если файл шрифта не существует. |
renderImage() метод protected
Отображает изображение капчи.
| protected string renderImage ( $code ) | ||
|---|---|---|
| $code | string |
Код проверки |
| return | string |
Содержимое изображения |
| throws | yii\base\InvalidConfigException |
если imageLibrary не поддерживается |
renderImageByGD() метод protected
Отображает изображение капчи на основе кода с использованием библиотеки GD.
| protected string renderImageByGD ( $code ) | ||
|---|---|---|
| $code | string |
Код проверки |
| return | string |
Содержимое изображения в формате PNG. |
renderImageByImagick() метод protected
Отображает изображение капчи на основе кода с использованием библиотеки ImageMagick.
| protected string renderImageByImagick ( $code ) | ||
|---|---|---|
| $code | string |
Код проверки |
| return | string |
Содержимое изображения в формате PNG. |
run() метод public
Выполняет действие.
| public void run ( ) |
|---|
setHttpHeaders() метод protected
Устанавливает HTTP-заголовки, необходимые для ответа изображения.
| protected void setHttpHeaders ( ) |
|---|
validate() метод public
Проверяет входные данные, чтобы увидеть, совпадают ли они с сгенерированным кодом.
| public boolean validate ( $input, $caseSensitive ) | ||
|---|---|---|
| $input | string |
Ввод пользователя |
| $caseSensitive | boolean |
Является ли сравнение регистрозависимым |
| return | boolean |
Действителен ли ввод |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-captcha-captchaaction.html