Как подключить recaptcha к сайту
Традиционно на данный момент все настраивают именно Google Recaptcha (произносится как «Гугл Рекапча»).
Она бесплатная, простая и всем знакомая.
Поэтому ее и будем использовать для установки на сайт.
Я работаю с WordPress и Opencart, и сейчас рассмотрю процесс установки рекаптчи именно в этих системах.
Первые шаги
Далее вам предложат выбрать что поставить: Recaptcha v3 или Recaptcha v2
Такая капча не видна для 99% «порядочных» пользователей, а появляется только для тех, кого Гугл посчитает роботом.
Это очень удобно.
Можно отправлять любые формы и не заморачиваться с каптчей.
А вот спам-боты уже столкнутся с защитой.
Recaptcha v2
Recaptcha v3
Настройки
Итак, выбрали ReCaptcha V3, как-то сверху обозвали свой проект (например, «Гугл Капча 3» или «Мой сайт») и затем вводите свой домен, на который устанавливается каптча.
Если у вас много доменов, то можно, конечно, внутри нашлепать их много в одной капче. Но по моему опыту чем больше напихано разных доменов внутрь одного набора ключей, тем выше вероятность появления капчи, поэтому я рекомендую для каждого домена создавать свой набор ключей.
Внизу переходим далее по кнопке и видим ключи, которые нужно добавить на сайт.
Отсюда их надо будет копировать на сайт.
Можете и сразу себе куда-нибудь скопировать, если не хотите потом возвращаться в настройки.
Жмем «Открыть настройки» и выбираем еще флажок «Разрешить использование Гугл капчи на AMP страницах», может пригодится, если будете использовать формы в AMP (как ускорить сайт с AMP в 10 раз).
Добавление ключей капчи в WordPress
99% всех шаблонов на WordPress содержит поля, куда можно добавить ключи гугловской капчи.
Жмем на «Интеграция» и видим удобные поля для размещения ключей.
Вставляем по очереди каждый ключ и сохраняем.
Всё готово.
Теперь во всех формах, которые работают с помощью плагина Contact Form, будет автоматическая невидимая капча.
В WP Forms всё аналогично.
Собственные настройки шаблона
Если нет плагина форм типа Contact Form или подобного, то уточните у разработчика шаблона или сайта: «Куда мне ввести ключе гугл капчи» и вам подскажут.
Вот, например, как это может добавляться в настройках темы:
Добавляете ключи в соответствующие поля и каптча готова к использованию.
Добавление ключей капчи в Opencart
Тут еще проще, потому что добавление гугловской капчи версии 2 поддерживается на уровне самого движка, не нужны ни специальные темы, ни сторонние модули.
Теперь переходим внутри (синяя кнопка редактировать) и вводим ключи. Сохраняем.
Убедитесь что напротив Google Recaptcha есть слово «по умолчанию». Это значит, что будет использоваться именно эта капча.
Если нету этого слова, то открывайте основные «Настройки» магазина.
Сохраните.
На всякий случай сбросьте кэш, иногда бывает, что настройки магазина кэшируются.
Обычно или сразу, или через несколько минут Google Recaptcha вступает в действие.
Как понять что капча работает:
Гугл Капча 2 версия: появляется знакомое поле для флажка «я не робот». Можно также использовать невидимую каптчу.
Гугл капча 3 версия: изначально невидимая, но появляется справа внизу плавающий стикер, который имеет смысл отдельно скрыть через css, чтобы не маячил.
Возможные проблемы
Основные трудности, которые я встречал при установке гугловской капчи.
«Неверный ключ домена»
Значит не правильно прописаны ключи.
Или не те, что надо. Или не всё скопировалось. Или не в те поля.
Или просто надо подождать минут 20.
Или вы всё-таки забили на то, что я написал ранее, и всунули Рекаптчу 3 в Opencart
«Гугл Капча 2 версии часто появляются картинки»
Если вы решили поставить привычную вторую версию рекапчти, иногда можно заметить, что после клика на привычный флажок «Я не робот» вдруг появляются невнятные картинки из серии «найди светофор» или «найди все мосты» и т.п.
В этом случае Google Recaptcha считает, что вы и ваши посетители очень похожи на роботов и предлагает усложненное задание. Это ухудшает конверсии (не забываем 5 простых способов повысить конверсии), поэтому при настройке второй версии каптчи лучше изначально выбрать уровень безопасности как «простой». Это делается в настройках рекаптчи простым перетягиванием ползунка.
В версии 3 такой настройки в Google нет, там уровень безопасности от 0 до 1 определяют сами плагины и модули, если в них встроен такой функционал (в WordPress в плагине WP Forms я его встречал, в Opencart не видел).
«Recaptcha не работает»
Установили капчу, а спам всё равно валится? Скорее всего, есть где-то форма, в которую разработчик сайта забыл поставить рекаптчу.
Чаще всего, это происходит в магазинах Opencart, потому что форм много: регистрация, быстрый заказ, обратный звонок, нашли дешевле и т.п. Банально программист мог забыть куда-то что-то дописать.
Вот еще видео как я ставил гугл рекапчу v2 на готовый магазин Opencart 3
Выводы и итоги
Чтобы его отключить можно добавить в CSS сайта строчку:
Обычно это легко можно сделать.
В тех готовых решениях, что я предлагаю, впрочем, это уже настроено.
В результате блок визуально не отображается на сайте и не отвлекает посетителей от ценного контента
Успехов в бизнесе!
Полезный совет: Как можно быстро добавить полезную статью в закладки своего браузера: просто нажмите на клавиатуре «CTRL + D» и кнопку «Готово», это работает в большинстве браузеров, проверьте сейчас!
Как установить капчу на свой сайт
Наверняка каждый интернет-пользователь хоть раз да ломал голову над неразборчивым и абсолютно бессмысленным набором символов, который принято называть забавным словом «капча», — пишет KV.BY. К сожалению, приятных эмоций этот феномен вызывает мало, поэтому мы предлагаем вашему вниманию статью, которая поможет разобраться с тем, что же это такое.
Немного истории
В конце 90-х начали появляться сайты с новой для того времени функцией: с возможностью вести пользовательскую переписку в реальном времени. Такого рода инновация спровоцировала массу ажиотажа не только среди юзеров тех лет, но и талантливых энтузиастов-программистов. Руководствуясь самыми разными мотивами, начиная с «порофлить», вплоть до жажды наживы, «хацкеры» принялись за создание чат-ботов. Количество операций проводимых ботом на сайтах в тысячи раз превышает количество операций обычного человека, что приводило к «падению» слабых, по сегодняшним меркам, серверов и отключению сайтов. Решением этой проблемы стала капча.
Термин CAPTCHA появился в 2000-м году в стенах американского университета имени Карнеги, где был представлен в виде аббревиатуры, в переводе на русский которая выглядит следующим образом: «полностью автоматизированный тест Тьюринга для различения компьютеров и людей». Естественно, что такому длинному названию было не суждено прижиться в ежедневном обиходе, чего нельзя сказать о ласковом звучании аббревиатуры, которая пришлась как нельзя кстати.
Капча – это генерируемый программным кодом «тест», предназначенный для идентификации системного пользователя – посетителя сайта: бот он или человек. А если выражаться более доступно, то капча представляет собой группу случайным образом подобранных символов, которые легко распознаются человеком и не считываются ботом, что сводит «активность» нежелательного на сайте гостя к нулю.
Основные виды капчи
На сегодня существует огромное количеством самых разных вариаций теста Тьюринга, поскольку опытные веб-мастера, владеющие серверным языком программирования PHP, создают свои собственные самогенерируемые капчи, стараясь добавить тем самым «изюминку» своим проектам. Именно по этой причине мы представим вашему вниманию лишь 5 видов капчей, которые встречаются на подавляющем большинстве веб-ресурсов:
reCAPTCHA
На данный момент является самым распространённым видом капчи, через которую ежедневно проходят 700 миллионов юзеров. Это продукт Google, который включает в себя ещё и дополнительные функции помимо базовой борьбы с ботами: оцифровывает тексты книг, распознаёт локации, предметы и названия улиц для Google.Maps через «руки» пользователей. Благодаря такому негласному «мировому сотрудничеству» гостей интернета, в день гугл умудряется оцифровывать порядка 100 млн слов, что эквивалентно 2,5 млн книг в год.
yaCAPTCHA
Это один из самых первых вариантов теста Тьюринга, который «ворвался» в массы. Данный вид капчи хоть и является «пожилым», но эффективности в своём назначении не утратил. Более 15-ти лет yaCAPTCHA доблестно охраняет страницы регистрации на форумах и сайтах от ботов. Конечно, не всем пользователям удаётся распознать сгенерированные буквы с первого раза, но из наиболее изощрённых вариантов капчи, этот является самым «гуманным». Представляется вниманию юзеров на ненавязчивом фоне с искажёнными буквами, без шумов и прочих тонкостей – ничего лишнего.
Anti-Spam Image
Устанавливается на сайты посредством плагина и представляет собой капчу с картинкой, на которой вниманию пользователя предложен специальный код. В связи с тем, что возраст этой капчи превышает возраст некоторых веб-мастеров, её эстетическое оформление оставляет желать лучшего и код смотрится довольно дряхло, что не лучшим образом дополняет современные шаблоны сайтов. Но о том, что касается функциональной части, можно не беспокоиться – вполне конкурентна и по сей день.
CheckBot
Довольно простой вариант капчи для сайта, плагин которой устанавливается всего в один клик и без труда поддаётся настройке. Представляет собой несколько изображений «человечков» в разных позах, из которых нужно выбрать какое-то конкретное. Алгоритм капчи ценит и уважает нервную систему своих пользователей точно также, как и дизайны сайтов, на которых располагается – оформление универсально. Выбрать «человечка» в определённой позе для живого юзера является пустяковой задачей, в то время как бот окажется абсолютно бессильным.
Math Comment Spam Protection
Доблестный протектор для сайтов и блогов, который не позволит «бездушным» посетителям просочиться в комментарии. Относительно прост в установке и использовании. Живых пользователей забавляют элементарные математические тесты, взывающие лишь к изумлению, чего нельзя сказать о ботах, которые вынуждены оставаться в дураках, поскольку считывать цифры, расположенные на изображении, для них не всегда представляется возможным из-за ограниченности функционала.
Как установить капчу на свой сайт?
Согласно исследованию, проведённому Google, reCAPTCHA является наиболее оптимальной и удобной для большинства пользователей интернета. Следовательно, установить на свой веб-ресурс узнаваемый в массах «продукт» довольно разумно. Стоит отметить тот факт, что почти во всех системах управления сайтами есть по умолчанию встроенные плагины и модули, позволяющие установить на сайт reCAPTCHA в пару кликов.
Для тех веб-мастеров, код сайта и почтовых форм которых прописан в блокноте, прилагаем гайд о том, как добавить капчу от гугла на свой сайт:
1. Нам понадобятся две ссылки: reCAPTCHA в гугле и, непосредственно, сам проект.
2. Для начала нам нужен серийный ключ от Google, ради которого переходим по первой ссылке и регистрируемся, после чего привязываем сайт.
4. Находим интересующую вас форму и вписываем код следующего содержания:
Очевидно, что на месте нулей должен располагаться серийный ключ, полученный после прохождения регистрации и привязки. В конечном итоге, в форме «комментария» должно получиться нечто подобное:
5. И всё. Поздравляю, вы добавили reCAPTCHA в форму комментария для вашего сайта! Теперь вы можете её протестировать и настроить под себя, покопавшись в коде самостоятельно.
Если же вы хотите добавить капчу на PHP-страницу, то вам необходимо пройти через ещё один пункт.
Установка Google reCaptcha v3 на сайт 2019. Как установить невидимую капчу на сайт.
Всем привет сегодня я покажу вам как устанавливать Google Recaptcha v3 на сайт. Это новый тип капчи, которая не требует выполнения заданий, а сама определяет пользователя по действиям которые он совершает на сайте. Это невидимая капча, нового типа, которая сейчас очень часто используется на различных сайтах.
Первым делом вам нужно зарегистрировать google почту и авторизоваться.
Далее переходим по данной ссылке https://www.google.com/recaptcha/intro/v3.html и нажимаем на кнопку “Admin console”
Если вы впервые создаете капчу то у вас появится окно с создание капчи. Здесь вам нужно заполнить поля.
В первом поле вы указываете название по которому вы будете определять нужную капчу. В это поле можно прописать свое название, так как это не на что не влияет.
Далее вы выбираете тип капчи. Сегодня мы рассматриваем капчу версии 3, поэтому выбирайте её.
После это прописываем доменные имена. Если вы пользуетесь локальным сервером, то прописывайте localhost или название папки, если это OpenServer.
. Внимание при работе с локальным сервером могут возникнуть проблемы в аутентификации пользователей. Google Recaptcha может работать некорректно, поэтому лучше тестировать на реальных хостингах.
После того как вы прописали домены, вы принимаете условия использования reCaptcha и нажимаете на кнопку отправить.
После этого вы попадаете на страницу с ключами. Вам нужно скопировать данные ключи.
Нажав на кнопку “Перейти в google аналитику” вы попадаете на страницу статистики, где показаны все выполнения и блокировки представленной капчи.
На данной странице вы можете посмотреть статистику по каждой капче, добавить новую капчу, изменить старую.
Код для Google reCaptcha
И так правильнее было бы разбить код по файлам, но для наглядности я занесу весь код в один файл.
Весь код выглядит так…
JavaScript
Забегая немного в перед скажу… в самом верху я добавил ключи от капчи в константы, чтобы с ними было проще работать.
Ниже я прописываю JavaScript код. Здесь мы подключаем API от Google и прописываем основной скрипт который подключает капчу. Здесь в качестве параметра нужно передать значение ключа который вы получали при создании капчи. Вы можете передать значение целиком или как я передать значение из константы в которой находится данный ключ.
Теперь рассмотрим PHP. Вначале я занес ключи в константы, чтобы с ними было удобнее работать(одну из них я уже прописывал в js скрипте).
Ниже мы прописываем проверку что массив POST не пустой и данные из формы записываются.
Далее мы создаем функцию которая будет делать запрос на google сервис и возвращать нам данные этого запроса.
После этого мы записываем работу функции в переменную, чтобы с ней было удобнее работать.
В документации написано, что если значение параметра score ниже 0.5 то скорее всего это бот, а если выше то это человек. Исходя из этого мы создаем данное условия и плюсом проверяем что проверка прошла успешно.
Добавление Google reCAPTCHA к PHP форме
Статья, в которой рассмотрим, как подключить recaptcha к форме обратной связи, работающей по технологии ajax.
Что такое Google reCAPTCHA?
Google reCAPTCHA – это сервис для защиты вашего сайта от ботов и других атак.
Формы обратной связи, комментирования, регистрации, авторизации, оформление заказа довольно часто подвергаются спам атаке. Чтобы их защитить от ботов и злоупотребление можно воспользоваться reCAPTCHA.
Версии Google reCAPTCHA:
Подключение reCAPTCHA v2 или v3
Установку Google reCAPTCHA v2 или v3 для проверки форм можно представить в виде следующих шагов:
Получение ключей reCAPTCHA
Получение ключей для reCAPTCHA v2 или v3 необходимо перейти на страницу «www.google.com/recaptcha/admin».
Для доступа к консоли администратора необходимо иметь аккаунт в Gmail. Если учётной записи нет, то её нужно завести.
После этого необходимо нажать на значок «+».
В открывшейся форме нужно:
После заполнения всех полей нажать на кнопку «Отправить».
При успешной регистрации Google будут выданы 2 ключа:
Установка recaptcha на сайт
Подключение reCAPTCHA к сайту (странице) осуществляется как на стороне клиента (в HTML), так на стороне сервера (в PHP).
Разберём, как это осуществляется более подробно. В качестве примере выберем ajax форму обратной связи.
Подключение recaptcha к HTML-документу
Подключение виджета reCAPTCHA к странице осуществляется посредством выполнения 2 действий:
Интегрирование recaptcha в php скрипт
Установка recaptcha в скрипт php осуществляется посредством внесения в файл process.php следующих изменений:
Готовая форма обратной связи с recaptcha
Бесплатно загрузить форму обратной связи с recaptcha можно по следующей ссылке:
Изображения готовой формы, в которую интегрирована recaptcha.
Статьи, связанные с этой темой:
Комментарии:
У себя на сайте в форме регистрации для валидации использую php либу grecaptcha:
На самой странице:
В принципе все отлично работает.
Но, к примеру при регистрации юзера после submit формы рекапча валидировалась, а какое-либо поле (логин, e-mail и т.п.) не прошло валидацию.
Юзер исправляет данные. При этом рекапча уже отмечена решенной.
А при повторном submit формы — получаем ошибку валидации timeout-or-duplicate
Погуглив данную ошибку понял, что API рекапчи не позволяет её верифицировать более одного раза по одному и тому же токену.
Думаю, что для решения проблемы, при получении ошибки либо НЕвалидации какого-либо поля нужно перезапускать рекапчу.
Долго гуглил — как я понял через php это не предусмотрено, а через js — grecaptcha.reset();.
Можете помочь советом, как это «прикрутить»?
В документации есть опция error-callback. Может можно решить задействовав её?
Спасибо за Ваш ответ. Я выбрал отправку по SMTP, но не знаю что прописать вместо ***
Вот данные почты, помогите пожалуйста заполнить.
Имя пользователя: fetva@313news.net
Пароль: Используйте пароль почтовой учетной записи.
Сервер входящей почты: cpanel24.v.fozzy.com
IMAP Port: 993 POP3 Port: 995
Исходящий сервер: cpanel24.v.fozzy.com
SMTP Port: 465
IMAP, POP3 и SMTP authentication.
с этим вылезла ошибка, письмо не отправляется.
Как добавить в форму новое поле подробно описывал в этой статье. Она, конечно, немного отличается от этой, но принцип такой же.
Я посмотрел и попытался сделать. Добавил в индексный файл
а в файл process.php добавил:
перед:
добавил
далее добавил pol тут
и тут
в итоге письмо отправляется, на почту приходит слово Пол, но выбранная опция не приходит.
Я не разбираюсь в php, помогите пожалуйста.
Может порт с использованием ssl какой-то другой.
В этой форме ещё нужно добавить код в «script.js»:
Письмо не ушло. На почте ничего нет, но в файле message.txt оно появилось.
Через минуту в форме появилось сообщение:
А вместо капчи написано: Время проверки истекло…
Приведу код на всякий случай
Добрый день.
Спасибо за инструкцию.
Помогите, пожалуйста.
1. Нет файла process.php Где он может лежать? Или его нужно создать?
2. Файл script.js у меня в шаблоне сайта, это нормально, код капчи будет в нем работать?
Спасибо.
Почему то не отправляются файлы в папку images, ошибку не пишет, просто отправляет сообщение на почту.
Сделал для нескольких типов файлов, как вы писали ниже.
// если данные были отправлены методом POST, то…
if ($_SERVER[‘REQUEST_METHOD’] == ‘POST’) <
// создаём экземпляр класса PHPMailer
$mail = new PHPMailer;
// отправляем письмо
if ($mail->Send()) <
$data[‘result’]=’success’;
> else <
$data[‘result’]=’error’;
>
//после загрузки веб-страницы
$(function () <
Как интегрировать “No CAPTCHA reCAPTCHA” на Ваш Сайт
Поля CAPTCHA являются, возможно, самым распространенным разочаровывающим опытом в Интернете. Они достаточно болезненны для большинства пользователей, не говоря уже о слабовидящих или тех, кто полагается на вспомогательные технологии, такие как скрин-ридеры для доступа в сеть. Однако CAPTCHA играют жизненно важную роль в борьбе со спамом.
Необходимое зло (спасибо спамерам)
Как ни странно, несмотря на то, что традиционные «исказители текстов» CAPTCHA неудобны нам для чтения, современные технологии искусственного интеллекта имеют меньше проблем с этим. Google даже использует подобную технологию для прочтения номеров домов и дорожных знаков для подтверждения их местонахождения на Google Street View!
Роботы Google могут безошибочно их прочесть
Это логично, потому что именно разработчики Google придумали лучшее решение для CAPTCHA до сих пор, к концу 2014 года. Для No CAPTCHA reCAPTCHA требуется не более, чем постукивание пальцем, щелчок мышью или нажатие пробела на клавиатуре в соответствующем поле.
В большинстве случаев все очень просто, но если анализ рисков Google по-прежнему не сможет быть уверен в том, что ты человек, то появится вторая подсказка.
Вы можете увидеть это в действии уже по всему Интернету, например на странице @materialup.
Получить No CAPTCHA reCAPTCHA
Приступим уже к главному и установим No CAPTCHA.
Шаг 1
Во-первых, нам нужен API key, так что заходим сюда https://www.google.com/recaptcha/admin. Чтобы получить доступ к этой странице, вы должны быть зарегистрированы в Google. Вам будет предложено зарегистрировать свой сайт, так что дайте ему подходящее имя, затем список доменов (например tutsplus.com), где будет использоваться именно эта reCAPTCHA. Поддомены (например webdesign.tutsplus.com и code.tutsplus.com) автоматичекси учитываются.
Шаг 2
После этого вам дадут ключ сайта и секретный ключ партнера:
Шаг 3
Под ключами вы увидите несколько фрагментов для включения reCAPTCHA на вашем сайте. Сначала вы увидите JavaScript:
Поместите этот скрипт внизу вашей страницы (или под формой, где появится reCAPTCHA, в зависимости от того, как вы распределите загрузку данных).
Шаг 4
Далее идет текстовый заполнитель, который вы должны добавить в разметку вашей формы там, где хотите, чтобы появилясь reCAPTCHA:
Заметка: атрибут data-sitekey будет держать значение вашего ключа, а не этот пример.
Есть другие атрибуты, которые вы можете добавить в настройки внешнего вида и функциональности вашей reCAPTCHA на данный момент. Например, добавление data-theme=»dark» этому div даст вам темную версию, которая больше подойдет вашему интерфейсу пользователя (UI):
Для более подробной информации о настройке reCAPTCHA перейдите сюда developers.google.com.
Посмотрим Все Вместе
Теперь у нас есть исходные ингридиенты, и пришло время их использования в рабочей среде.
Шаг 1
Положим наш тег скрипта и текстовый заполнитель в простую форму:
Вы должны иметь что-то похожее на это
Шаг 2
Это значение мы и дожны отправить Google для верификации, так давайте сделаем это.
Шаг 3
К счастью для нас, команда разработчиков Google сделала тяжелую работу за нас, так что перейдем к проекту ReCAPTCHA на Github и возьмем копию материала recaptchalib.php. Поместите его в корневом каталоге вашего проекта и затем ссылайтесь на него в верхней части файла index.php :
Шаг 4
В этом материале содержится коллекция функций, которая посылает g-recaptcha-response (вместе с нашим секретным ключом) в Google через HTTP запрос. Затем они собирают ответ, проверяя, был ли CAPTCHA успешным. Для его использования нужно сначала создать пару переменных перед закрытием PHP тега:
ReCaptcha() проверяет присутствие вашего секретного ключа. Если его нет, то он убивает процесс и советует нам пойти и взять ключ. Мы пропускаем наши детали через следующий код:
Шаг 5
Наконец, добавьте закрывающий PHP тег после формы:
Это отображает форму, если она была успешно отправлена, в этом случае отображается короткое благодарственное сообщение.
Заключение
Это было черновой и готовой PHP реализацией No CAPTCHA reCAPTCHA. Она открыта для улучшения, но, надеюсь, даст вам понимание основ. Признателен команде разработчиков Google за предоставление материала и благодарен Matt Aussaguel за указание на него.