Как подключить Google reCAPTCHA v2 в PHP

Метки: /

В этой статье будем подключать Google reCAPTCHA v2 на PHP, эта система нужна для того, что бы на вашем сайте не было спама, поэтому обязательно её установите.

Получение API ключей:

Первым делом нужно получить ключ, для этого заходим на сайт Google reCAPTCHA, и там сверху нажимаем на кнопку «Admin console».

Создаём google recaptcha

У вас должно открыться в окне с настройками капчи, настраиваем всё как из скриншота.

Пример настройки

Как видите, я назвал капчу «Тест», и выбрал reCAPTCHA v2, то есть капча версии два, также выбрал там под пункт флажок «я не робот», это значит на сайте у меня будет отображаться специальный флажок, который при нажатие будет проверять все данные браузера, например, cookie, и если всё в порядке, то я не робот.

Дальше в строчке домен, вводите доменное имя своего сайта, со всем соглашаетесь и нажимаете кнопку «отправить», у вас должно появится на экране два ключа.

Ключи для капчи

Если у вас всё примерно так, то значит создание ключа прошло успешно, верхний ключ используйте на клиенте, а нижний на сервере.

HTML:

Теперь займёмся нашем HTML файлом, тут всё просто, сделаем не большую форму и в строем туда Google капчу.

Как видите всё очень просто, вы подключаете скрипт с API в header и добавляете в форму специальный div элемент с классом g-recaptcha, также имеет атрибут data-sitekey, который хранит в себе ключ для клиентской части сайта.

Форма для работы с google recaptcha

Как видите она совершенно нормально отображается у нас.

PHP:

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

Конечно, я написал комментарии, но всё же надо разобрать код, тем более, он тут не такой уж сложный и большой.

Сначала мы проверяем, существует ли переменная в массиве g-recaptcha-response, которая хранит в себе ключ то Google, если вы оказались не робот, если её нет, то программа выводит на экран «Произошла ошибка» и перестают работать.

Иначе он создаёт запрос для полной проверки на робота, но перед этим мы объявляем две переменные, первая, это переменная с URL, куда отправлять проверку, вторая, хранит ключ, который используется для обмена данными между сайтом и сервисом reCAPTCHA, также создаётся массив для отправки данных на сервер.

Теперь наконец делаем запрос на сервер для полной проверки, я не буду тут объяснять какая команда для чего нужна, лучше посмотрите по этой ссылке.

Можете заметить, что когда мы возвращаем данные, используем функцию json_decode(), она нужна потому что, сервер возвращает JSON данные, а PHP не умеет читать такой тип данных, первым параметром он принимает JSON, а второй, в нашем случае это $assoc=true, значение true нужен, что бы он превращал не в объект, а в массив.

Ну и в конце проверяем, если в массиве нет переменной success, то программа останавливается и выводит надпись «ВЫ РОБОТ» иначе, выводит логин и email, который вы вводили в начале, вот результат.

Результат работы google recaptcha в php

Как видите всё работает.

Вывод:

В этой статье вы узнали как подключить Google reCAPTCHA v2 на PHP, и можете заметить, что это достаточно легко, надеюс вам понравилась статья.

Подписываетесь на соц-сети:

Оценка:

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд
Количество оценивших: 1
Средняя оценка: 5,00
Загрузка...

Поделится:

Также рекомендую: