Меню Рубрики

Установка капчи от гугла

PROG-TIME

Всем привет сегодня я покажу вам как устанавливать Google Recaptcha v3 на сайт. Это новый тип капчи, которая не требует выполнения заданий, а сама определяет пользователя по действиям которые он совершает на сайте. Это невидимая капча, нового типа, которая сейчас очень часто используется на различных сайтах.

Первым делом вам нужно зарегистрировать google почту и авторизоваться.

Далее переходим по данной ссылке https://www.google.com/recaptcha/intro/v3.html и нажимаем на кнопку “Admin console”

Если вы впервые создаете капчу то у вас появится окно с создание капчи. Здесь вам нужно заполнить поля.

В первом поле вы указываете название по которому вы будете определять нужную капчу. В это поле можно прописать свое название, так как это не на что не влияет.

Далее вы выбираете тип капчи. Сегодня мы рассматриваем капчу версии 3, поэтому выбирайте её.

После это прописываем доменные имена. Если вы пользуетесь локальным сервером, то прописывайте localhost или название папки, если это OpenServer.

. Внимание при работе с локальным сервером могут возникнуть проблемы в аутентификации пользователей. Google Recaptcha может работать некорректно, поэтому лучше тестировать на реальных хостингах.

После того как вы прописали домены, вы принимаете условия использования reCaptcha и нажимаете на кнопку отправить.

После этого вы попадаете на страницу с ключами. Вам нужно скопировать данные ключи.

Нажав на кнопку “Перейти в google аналитику” вы попадаете на страницу статистики, где показаны все выполнения и блокировки представленной капчи.

На данной странице вы можете посмотреть статистику по каждой капче, добавить новую капчу, изменить старую.

Код для Google reCaptcha

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

Давайте начнем разбор с HTML. Здесь я создал простую форму которая состоит из двух полей и кнопки. Каждому полю необходимо прописать значение для атрибута name . Одно из полей мы будем использовать для капчи, поэтому зададим ему специальный идентификатор – g-recaptcha-response .

Данные из формы будут отправляться методом POST , обработку я буду проводить в этом же файле, поэтому в атрибуте action ставлю значение / .

JavaScript

Забегая немного в перед скажу… в самом верху я добавил ключи от капчи в константы, чтобы с ними было проще работать.

Ниже я прописываю JavaScript код. Здесь мы подключаем API от Google и прописываем основной скрипт который подключает капчу. Здесь в качестве параметра нужно передать значение ключа который вы получали при создании капчи. Вы можете передать значение целиком или как я передать значение из константы в которой находится данный ключ.

Раскомментируйте функцию console.log(token) , чтобы увидеть токен в консоли. Данный токен мы будем передавать в качестве значения для поля #g-recaptcha-response .

Теперь рассмотрим PHP. Вначале я занес ключи в константы, чтобы с ними было удобнее работать(одну из них я уже прописывал в js скрипте).

Ниже мы прописываем проверку что массив POST не пустой и данные из формы записываются.

Далее мы создаем функцию которая будет делать запрос на google сервис и возвращать нам данные этого запроса.

После этого мы записываем работу функции в переменную, чтобы с ней было удобнее работать.

В документации написано, что если значение параметра score ниже 0.5 то скорее всего это бот, а если выше то это человек. Исходя из этого мы создаем данное условия и плюсом проверяем что проверка прошла успешно.

источник

Установка и настройка reCAPTCHA 2.0 от Google

В этой статье рассмотрим установку и настройку новой версии reCaptcha API от Google в которой обновлен дизайн и внедрены новые механизмы проверки. Этот инструмент поможет защитить формы вашего сайта от спама и роботов.

Для начала работы с reCAPTCHA API нам необходимо получить ключ от Google и создать приложение для работы. Переходим по ссылке для получения ключа. Вам необходимо иметь учетную запись в службах Google.

Установка reCaptcha 2, получение ключей, регистрация сайта

После добавления сайта вам будет выдано два ключа Публичный ключ – нужен для отображения блока reCAPTCHA на странице с формой. Секретный ключ – нужен для соединения с серверами Google и проверке правильности отправки reCAPTCHA. Секретный ключ должен хранится только на сервере и не должен быть доступен пользователям.

Далее проделываем операции как указано в инструкции. Размещаем код библиотеку reCAPTCHA 2.0 на нужной нам странице перед закрывающим тегом head в HTML-коде: А сам div блок вставляем в конце объекта form в том месте, где вы хотите видеть блок reCAPTCHA: Теперь переходим на нашу страницу, если код библиотеки и блок вызова reCAPTCHA с ключом установлены верно, то мы увидим нашу форму и блок проверки для роботов.

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

Читайте также:  Установка и диагностика автосигнализации

Интеграция reCAPTCHA 2.0 на стороне сервера

Как видно из кода выше, элемент массива g-recaptcha-response имеет значение, а это значит что сервер проверки ответил нам на запрос и проверка пройдена удачно.

Далее нам необходимо отправить POST запрос на сервер Google reCAPTCHA по адресу google.com/recaptcha/api/siteverify и передамть ему переменные:

  • secret — секретный ключ полученный при регистрации сайта
  • response — код полученный при установке галочки «Я не робот» из элемента массива [g-recaptcha-response]
  • remoteip – IP адрес пользователя, который заполняет форму и проходит проверку

Готовим функцию подключения к серверу. В PHP должно быть активировано расширение CURL.

После выполнения запроса, сервер Google reCAPTCHA 2.0 отдаст ответ в формате JSON с полем success. Если его значение TRUE, то значит проверка пройдена и форму заполняет человек, а не робот. Если success равно FALSE, то форму заполняет спам-робот.

Пример отрицтельного ответа (для его просмотра раскомментируйте в коде строку var_dump($res);

Проверка пройдена успешно:

Чтобы посмотреть какие данные передаются из формы, вставьте вот этот код в страницу: На этом настройка и установка reCAPTCHA 2.0 от Google завершена и спам больше не будет вас доставать!

Популярное

В этой статье рассмотрим установку и настройку новой версии reCaptcha API от Google в которой обновлен.

В этой статье мы рассмотрим настройку и установку новой версии адаптивного слайдера изображений Owl Carousel.

Google reCAPTCHA стала одним из самых популярных решений, когда речь идет о предотвращении отправки.

Адаптивный слайдер изображений Owl Carousel Slider. Имеет достаточно большое количество настроек, прост в.

Недавно просматривая логи заметил ошибку верификации сертификата при соединении своего smtp сервера с.

источник

Установка и настройка Google Recaptcha — и спама на сайте нет

Гугл Капча помогает бороться со спамом. Все знают, что рекапча — это простая и бесплатная защита от спама. То есть если на ваш сайт или магазин вдруг стали приходить фейковые обращения, заказы и письма, то прежде всего стоит убедиться, что капча для сайта включена и работает.

Традиционно на данный момент все настраивают именно Google Recaptcha (произносится как «Гугл Рекапча»).

Она бесплатная, простая и всем знакомая.

Поэтому ее и будем использовать для установки на сайт.
Я работаю с WordPress и Opencart, и сейчас рассмотрю процесс установки рекаптчи именно в этих системах.

Первые шаги

Идем сюда https://www.google.com/recaptcha/admin
Если еще нет аккаунта Google — придется создать его.

Далее вам предложат выбрать что поставить: Recaptcha v3 или Recaptcha v2

Ставьте v3 (капчу третьей версии) — она удобнее для ваших пользователей, в ней не требуется вообще ставить традиционную галочку или кликать по картинкам.

Такая капча не видна для 99% «порядочных» пользователей, а появляется только для тех, кого Гугл посчитает роботом.

Это очень удобно.
Можно отправлять любые формы и не заморачиваться с каптчей.
А вот спам-боты уже столкнутся с защитой.

Кстати, похоже работает и Recaptcha v2 — в режиме «Невидимая рекаптча», но Recaptcha v3 более продвинутая и по заверениям многих владельцев сайта удаляет больше спама, но работает на везде, например, в Opencart 2 и 3 из коробки она не работает.

Recaptcha v2

Recaptcha v3

Настройки

Итак, выбрали ReCaptcha V3, как-то сверху обозвали свой проект (например, «Гугл Капча 3» или «Мой сайт») и затем вводите свой домен, на который устанавливается каптча.

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

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

Отсюда их надо будет копировать на сайт.
Можете и сразу себе куда-нибудь скопировать, если не хотите потом возвращаться в настройки.

Жмем «Открыть настройки» и выбираем еще флажок «Разрешить использование Гугл капчи на AMP страницах», может пригодится, если будете использовать формы в AMP (как ускорить сайт с AMP в 10 раз).

Далее остается добавить ключи на сайт и подождать до 20-30 минут на обновление данных на стороне Google, если сразу капча не подтянулась.

Добавление ключей капчи в WordPress

99% всех шаблонов на WordPress содержит поля, куда можно добавить ключи гугловской капчи.

  1. Плагин Contact Form или Wp Forms.
  2. Собственные настройки шаблона.

Смотрим слева в панели админа — есть плагин Contact Form или нет.
А, вот он!

Жмем на «Интеграция» и видим удобные поля для размещения ключей.

Читайте также:  Установка подсветки приборной панели 2107

Вставляем по очереди каждый ключ и сохраняем.

Всё готово.
Теперь во всех формах, которые работают с помощью плагина Contact Form, будет автоматическая невидимая капча.

В WP Forms всё аналогично.

Собственные настройки шаблона

Если нет плагина форм типа Contact Form или подобного, то уточните у разработчика шаблона или сайта: «Куда мне ввести ключе гугл капчи» и вам подскажут.

Вот, например, как это может добавляться в настройках темы:

Добавляете ключи в соответствующие поля и каптча готова к использованию.

Добавление ключей капчи в Opencart

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

Важно!
Google Recaptcha ver 3 — не работает на Opencart.
Если введете ключи от нее в стандартные поля, то увидите ошибку «неверный ключ домена«.
Возможно, в будущих версиях подружат новую каптчу и опенкарт, а сейчас надо ставить только рекапчу версии 2.

Открываем, например, админку Opencart 3 и ищем слева меню «Расширения», а в нем еще раз подпункт «расширения» — и там в выпадающем списке находим «Капча».

Там внутри будет Google Recaptcha и Basic Captcha.
Нам нужна именно гугловская — если это расширение не активно — активируем его.

Теперь переходим внутри (синяя кнопка редактировать) и вводим ключи. Сохраняем.

Убедитесь что напротив Google Recaptcha есть слово «по умолчанию». Это значит, что будет использоваться именно эта капча.

Если нету этого слова, то открывайте основные «Настройки» магазина.

И на вкладке опции — в самом низу выберете Google Recaptcha вот так:

Сохраните.
На всякий случай сбросьте кэш, иногда бывает, что настройки магазина кэшируются.

Обычно или сразу, или через несколько минут Google Recaptcha вступает в действие.

Как понять что капча работает:

Гугл Капча 2 версия: появляется знакомое поле для флажка «я не робот». Можно также использовать невидимую каптчу.
Гугл капча 3 версия: изначально невидимая, но появляется справа внизу плавающий стикер, который имеет смысл отдельно скрыть через css, чтобы не маячил.

Возможные проблемы

Основные трудности, которые я встречал при установке гугловской капчи.

«Неверный ключ домена»
Значит не правильно прописаны ключи.
Или не те, что надо. Или не всё скопировалось. Или не в те поля.
Или просто надо подождать минут 20.
Или вы всё-таки забили на то, что я написал ранее, и всунули Рекаптчу 3 в Opencart

«Гугл Капча 2 версии часто появляются картинки»
Если вы решили поставить привычную вторую версию рекапчти, иногда можно заметить, что после клика на привычный флажок «Я не робот» вдруг появляются невнятные картинки из серии «найди светофор» или «найди все мосты» и т.п.

В этом случае Google Recaptcha считает, что вы и ваши посетители очень похожи на роботов и предлагает усложненное задание. Это ухудшает конверсии (не забываем 5 простых способов повысить конверсии), поэтому при настройке второй версии каптчи лучше изначально выбрать уровень безопасности как «простой». Это делается в настройках рекаптчи простым перетягиванием ползунка.

В версии 3 такой настройки в Google нет, там уровень безопасности от 0 до 1 определяют сами плагины и модули, если в них встроен такой функционал (в WordPress в плагине WP Forms я его встречал, в Opencart не видел).

«Recaptcha не работает»
Установили капчу, а спам всё равно валится? Скорее всего, есть где-то форма, в которую разработчик сайта забыл поставить рекаптчу.
Чаще всего, это происходит в магазинах Opencart, потому что форм много: регистрация, быстрый заказ, обратный звонок, нашли дешевле и т.п. Банально программист мог забыть куда-то что-то дописать.

Как еще вариант, всё таки слишком простые уровни безопасности для каптчи, перетяните ползунок вправо.
Ну и еще как вариант — попробуйте другую версию рекаптчи. Была вторая — поставьте третью. И наоборот. В одном аккаунте Google можно делать много отдельных капч для разных сайтов.

Если ничего не помогло — то на кворк обратитесь, вам за 500р поставят капчу с гарантией результата.

Выводы и итоги

Избавиться от спама можно и нужно, причем бесплатно.
Я включал в 30+ магазинах и сайтах Google ReCaptcha как версии V2 так и V3 — результат очень хороший. Спам или пропадал совсем или уменьшался до каких-то эпизодических случаев.

Из минуса Гугл Капчи 3 версии можно отметить, что справа начинает болтаться спойлер — бейдж от Google, в котором расписаны условия конфиденциальности.

Чтобы его отключить можно добавить в CSS сайта строчку:

Обычно это легко можно сделать.
В тех готовых решениях, что я предлагаю, впрочем, это уже настроено.

В результате блок визуально не отображается на сайте и не отвлекает посетителей от ценного контента
Успехов в бизнесе!

Полезные цитаты: Богатые люди покупают предметы роскоши в последнюю очередь, в то время, как бедные и средний класс стремятся приобретать их в первую очередь.

Читайте также:  Установка климата на киа рио 2012

источник

Подключение Google reCAPTCHA на Vue и валидация ответа на сервере

В этой статье я покажу как подключить капчу от Google (reCAPTCHA) на Vue JS и валидировать ответ на сервере (я использую бекенд на Laravel/Lumen в качестве примера, но принцип валидации одинаковый для всех технологий).

Предисловие

Мы будем использовать Invisible reCAPTCHA.
Это невидимая* капча, которую не нужно проходить до тех пор, пока система не посчитает это нужным. Администратор сайта может установить пороговый уровень (Security Preference), при котором система будет требовать от пользователя пройти дополнительную проверку.

*- значок reCAPTCHA все же должен присутствовать на странице.


Невидимая капча на сайте.

Вопрос / Ответ

Перед началом работы я хотел бы ответить на вопросы, которые возникли у меня, когда я начинал работу с Google reCAPTCHA.

В: Сколько стоит использование reCAPTCHA?
О: ReCAPTCHA от Google — это бесплатный инструмент.

В: Зачем нужно еще раз проверять ответ пользователя на бекенде, если он уже прошел капчу на сайте?
О: Когда вы делаете запрос на сервер, вы отправляете что-то наподобие этого:

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

В: У меня реакт, что мне делать?
О: React JS — отличная вещь. Если вы используете его для разработки сайтов, советую обратить внимание на https://github.com/appleboy/react-recaptcha. Принцип работы очень похож на пример с Vue.

Приступаем к работе

Итак, прежде чем начать готовить, нам нужен список ингредиентов:

Шаг №1: Получаем ключи для использования reCAPTCHA на своем сайте

В поле label можете писать что угодно.

Далее выберите тип — Invisible reCAPTCHA badge.

Вы можете указать несколько доменов, на которых будете использовать капчу.
В качестве примера я указал yourawesomedomain.com и localhost.

Принимаем условия использования и двигаемся дальше.


Вам выдали два ключа, сохраните их в надежном месте. Мы вернемся к ним позже.

Шаг №2: Фронтенд. Установка и подключение капчи к нашим формам

Для начала, нам нужно добавить этот код в секцию head:

Свойство onload сообщит нашему компоненту, что капча готова к использованию.

Дальше я покажу готовый компонент и мы разберем его по частям:

Начнем с того, что мы имортировали Vue-Recaptcha в наш компонент:

Дальше мы обьявили свойство sitekey в data() компонента:

Добавляем компонент Vue-Recaptcha в нашу форму:

Метод register будет вызван при успешном прохождении капчи, в то время как expired вызывается при истечении срока действия капчи.

Метод onCaptchaExpired перезапускает капчу:

Самой форме мы добавляем событие @submit.prevent=»validate», которое запускает метод validate при отправке формы.

Процес можно описать так:

  1. Пользователь ввел данные и нажал кнопку Sign Up, вызывается функция validate().
  2. Функция validate() запускает капчу, если пользователь ее успешно проходит, вызывается метод register.

В методе register мы получаем recaptchaToken, который мы должны отправить на сервер вместе с данными, которые ввел пользователь:

На этом наша работа с фронтендом закончена. ReCAPTCHA успешно установлена и работает.

P.S. Если вы собираетесь использовать капчу в нескольких компонентах, лучше всего вынести sitekey в .env файл и получать его с помощью process.env:

Шаг №3: Валидация на бекенде. Пример валидации на Laravel и Lumen

Сделать валидацию ответа на сервере очень просто. Начнем с примера на Laravel.

1) В папке config создайте файл recaptcha.php с таким содержимым:

2) После этого, добавьте переменные в .env файл:

3) Установите GuzzleHttp, чтобы иметь возможность отправлять запросы на API гугла:

4) В контроллере добавьте метод checkRecaptcha:

В этом методе мы отправляем наш токен (который мы получили с фронтенда) методом POST на https://www.google.com/recaptcha/api/siteverify

5) В методе register (в вашем случае название может отличатся, это метод на который вы отправляли POST запрос с фронтенда) добавьте следующий код:

Все готово к использованию!

  • При обращении к методу register мы получаем email, password и recaptcha_token.
  • Если recaptcha включена (в .env файле значение RECAPTCHA_ENABLED стоит TRUE),
    Laravel отправит запрос на API гугла.
  • Если ответ отрицательный, мы возвращаем ошибку с текстом: Captcha is invalid.
  • Если положительный — продолжаем регистрацию пользователя.


Путешествие токена. Визуальное представление.

Полный код контроллера будет выглядеть так:

Валидация ответа на Lumen

На Lumen все делаем так же, как в примере с Laravel, за исключением того, что нам нужно зарегистрировать наш конфиг (recaptcha.php) в bootstrap/app.php:

Заключение

Итак, в этой статье вы научились использовать Google reCAPTCHA в своем проекте на Vue.

ReCAPTCHA — отличный бесплатный инструмент для защиты своего ресурса от ботов.
С невидимой капчой можно проверять посетителей, не требуя от них никаких действий.

источник

Добавить комментарий

Adblock
detector