Вход

Yii2: Установка Google reCAPTCHA

Ни один современный сайт не обходится без форм запроса данных пользователя, будь то интернет-магазин и даже landing page.

В связи с этим нужно уделить особое внимание защите форм от роботов. Разработчики google разработали алгоритм проверки реальности пользователя, а современный интерфейс данной капчи удачно впишется в дизайн вашего сайта.

установка recapcha на yii2

Установка reCAPTCHA на Yii2

  1. Существует множество готовых решений по установке данного расширения для большинства cms. Сегодня мы поговорим как установить reCAPTCHA на фреймворк yii2

    Если вы разрабатываете сайт на локальном сервере (например Open Server), то данная программа уже поддерживает автоматическую установку расширений через composer. Для установки расширения reCAPTCHA для yii2 через композер, вам достаточно прописать в консоли следующую строку:

    1
    
    composer require --prefer-dist "himiklab/yii2-recaptcha-widget" "*"

    После чего расширение автоматически установится на ваш сайт.

  2. Следующим шагом вам нужно зарегистрироваться на сайте Google reCAPTCHA и добавить Ваши сайт. При регистрации сайта вам будут выделены два уникальных ключа, они потребуются на длее

  3. Теперь нам нужно поправить файл «config/web.php «

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    
     
     
    $config = [
     
    ...
     
        'components' => [
     
    ...
     
     
            'urlManager' => [
     
    ...
     
              ]
            ],*/
            'reCaptcha' => [
                'name' => 'reCaptcha',
                'class' => 'himiklab\yii2\recaptcha\ReCaptcha',
                'siteKey' => 'Ключ ',
                'secret' => 'Секретный ключ',
            ],
        ],
        'params' => $params,
    ];

Подключение reCAPTCHA к форме на Yii2

Для подключения reCAPTCHA к форме в соответствующей модели нужно добавить следующий код:

1
2
3
4
5
6
7
8
9
...
public $reCaptcha; 
 
public function rules()
    {
        return [
            [['reCaptcha'], \himiklab\yii2\recaptcha\ReCaptchaValidator::className(), 'secret' => 'Секретный ключ', 'uncheckedMessage' => 'Please confirm that you are not a bot.'],
        ];
    }

Чтобы добавить к виду поле с капчей нужно добавить:

1
< ?  = \ Himiklab \ yii2 \ recaptcha \ ReCaptcha :: widget ([ ' name ' => ' reCaptcha ' ]) ?  >

19 мая 2017 /

3869 Views /

4 комментария
Ilya Web developer
Author

«Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете.»Martin Golding

Получать уведомления о новых комментариях
Уведомлять
guest
4 комментариев
новые
старые по оценкам
Inline Feedbacks
View all comments
remix
remix
3 лет назад

Отличная статья — я тоже установил себе капчу от Google. Но вы забыли добавить переменную:
public $reCaptcha; Перед тем как объявить правило в модели.
У меня возникла ошибка после прохождения проверки и пришлось подумать и зайти на сам плагин: https://github.com/himiklab/yii2-recaptcha-widget
Спасибо за статью!!!

GK Reservation
3 лет назад

Спасибо за статью про recaptcha, специально залогинился чтобы поблагодарить