У цій статті розглянемо установку і настройку нової версії 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 має значення, а це значить що сервер перевірки відповів нам на запит і перевірка пройдена вдало.
Готуємо функцію підключення до сервера. У PHP має бути активовано розширення CURL.
Після виконання запиту, сервер Google reCAPTCHA 2.0 віддасть відповідь в форматі JSON з полем success. Якщо його значення TRUE, то значить перевірка пройдена і форму заповнює людина, а не робот. Якщо success одно FALSE, то форму заповнює спам-робот.
Перевірка пройдена успішно:
Щоб подивитися які дані передаються з форми, вставте ось цей код в сторінку: На цьому настройка і установка reCAPTCHA 2.0 від Google завершена і спам більше не буде вас діставати!