Необходимо ввести токен Google reCAPTCHA: что это такое на Айхерб?
Понятие «защита информации» настолько плотно вошло в жизнь, что практически любой пользователь интернета, а не только клиенты и сотрудники банка, так или иначе встречает и употребляет в обиходе подобное сочетание слов. Виртуальное пространство заполонили спамеры и боты. Их активность настолько мешает и осложняет работу, что в качестве противодействия назойливому вмешательству сторонних участников, используют ввод капчи. Такой механизм оправдан и эффективен, поэтому многие страницы, включая сайт Айхерб, просят посетителей указать специальный код – токен Google reCAPTCHA.
Что это
IHerb – американская интернет-площадка по продаже органической продукции. Онлайн-магазин реализует БАДЫ, натуральную косметику, витамины, аромамасла, включая товары для дома. Как и многие продвинутые игроки виртуального пространства Айхерб защищает свой ресурс и пользователей от спамеров и ботов при помощи алгоритмов сервиса Google reCAPTCHA.
Специальные программы-боты собирают информацию о пользователях. Чаще всего это адреса электронных почт. В последующем и-мейлы могут быть включены в списки рассылки спама. Для противодействия ботам применяют инструмент Google reCAPTCHA от известной поисковой системы.
Токен Google reCAPTCHA — служебные данные, полученные во время работы технологии.
Алгоритм деятельности этой разработки заключается в анализе поведения пользователей. При наличии каких-либо подозрений посетителю сайта, например ru.iherb.com, предлагается пройти проверку по одному из действующих сценариев. Самый простой вариант – достаточно кликнуть по квадрату «Я не робот». На большинстве же ресурсов, в том числе и Айхерб, применяют более продвинутый механизм, когда требуется расшифровать предложенные надписи и выбрать определенные картинки.
Токен отсылают на сервер ресурса, который с помощью секретного ключа отправляет запрос уже к сервису reCAPTCHA v3. Такой подход либо опровергает подозрение, что действует бот или наоборот выявляет факт, что ведется неправомерный сбор данных. При этом сервис ответит 1 (человек) или 0 (бот).
Американский онлайн-магазин IHerb – известная платформа занимающаяся торговлей в интернете, а значит, является популярной площадкой, которая интересует не только приверженцев органической продукции, но и спамеров и ботов. Противодействовать несанкционированному сбору информации помогает ввод невидимой капчи с помощью сервиса Google reCAPTCHA. Несколько маленьких заданий в виде картинок или цифр стоят на страже входа на ресурс. Как только предлагаемое условие будет выполнено, клиент беспрепятственно может изучать информацию на странице и делать заказы.
Что такое токен google recaptcha
reCAPTCHA is a free service from Google that helps protect websites from spam and abuse. A “CAPTCHA” is a turing test to tell human and bots apart. It is easy for humans to solve, but hard for “bots” and other malicious software to figure out. By adding reCAPTCHA to a site, you can block automated software while helping your welcome users to enter with ease. Try it out at https://www.google.com/recaptcha/api2/demo .
To learn more about reCAPTCHA, visit our official website or our technical documentation site.
Using reCAPTCHA V2
How do I use reCAPTCHA?
Just click the checkbox: If you see a green checkmark, congratulations! You’ve passed our robot test (yes, it’s that easy). You can carry on with what you were doing. Sometimes we need some extra info from you to make sure you’re human and not a robot, so we ask you to solve a challenge: Simply follow the on-screen instructions to solve the puzzle and then carry on with your task.
Accessibility
- If you are presented with a visual challenge, locate and click on the button.
- You will be presented with one of two versions of the audio challenge depending on whether you’re using a mobile device.
- Press PLAY and enter the numbers you hear in the text input box located after the PLAY button or audio control. If your focus isn’t automatically set on the text input box after pressing the PLAY button, tab to proceed to it. When you’re done entering the numbers from the audio, press ENTER or click on the “Verify” button to submit your answer.
- If your answer is incorrect, you will be presented with another audio challenge.
- If your answer is correct, the audio challenge will close and the reCAPTCHA checkbox will become checked. ReCAPTCHA will also notify the screen reader of the successful verification. Please note that the verification will expire after some time and you will need to start over if this occurs. You will be notified if the verification expires.
Tips
- If the audio doesn’t play, try downloading the audio by locating and clicking on the link.
- While in the text input box, you can press the “R” button to replay the audio from the beginning
- To get a different audio challenge, locate and press the button.
- The reCAPTCHA verification expires after a certain amount of time so it is best to complete the reCAPTCHA verification last on a website you are accessing.
- Some screen readers may have difficulties getting into forms mode, if this happens, please use your screen reader’s functionality to force forms mode.
reCAPTCHA ARIA Status Messages
Status message
Detailed description
Recaptcha requires verification
The initial state, reCAPTCHA verification is required to proceed on this website. Click the checkbox to get a verification challenge.
Opening verification challenge
The checkbox has been clicked and a challenge is loading. You are instantly verified if the status changes to “You are verified”. Otherwise, you are required to complete a verification challenge.
Verification challenge expired, check the checkbox again for a new challenge
The verification challenge expired due to timeout or inactivity. Click the checkbox again for a new challenge.
You are verified
You have been verified. You can now proceed on the website.
Verification expired, check the checkbox again for a new challenge
The verification expired due to timeout or inactivity. Click the checkbox again for a new challenge.
This CAPTCHA is too hard
Don’t worry. Some CAPTCHAs are hard. Just click the reload button next to the image to get another one.
My computer is sending automated queries
Our unusual traffic help page describes what to do if you see this message: «We’re sorry, but your computer or network may be sending automated queries. To protect our users, we can’t process your request right now.»
Help for reCAPTCHA users
Browser requirements for reCAPTCHA
- desktop (Windows, Linux, Mac)
- Chrome
- Firefox
- Safari
- Chromium Edge
- Chrome
- Safari
- Android native browser
Not seeing the checkbox and want an easier challenge?
- Make sure your browser is fully updated (see minimum browser requirements)
- Check that JavaScript is enabled in your browser
- Try disabling plugins that might conflict with reCAPTCHA
Please note that some sites may have incorrectly integrated with reCAPTCHA — in this case please contact the site’s webmaster.
Help for website owners
How can I integrate reCAPTCHA in my site?
Using reCAPTCHA in your site is very easy. First, register your site here and then follow the short on-screen instructions.
FAQs
If you are having any technical problems in your site, please refer to our Frequently Asked Questions . If you don’t see your problem listed there, try our support forum .
- ©2023 Google
- Privacy Policy
- Terms of Service
reCAPTCHA
Оптимизируйте свои подборки Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Что такое reCAPTCHA?
Простота добавления, расширенная безопасность
reCAPTCHA — это бесплатный сервис, который защищает ваш сайт от спама и злоупотреблений. Он использует передовые методы анализа рисков, чтобы отличить людей от ботов.
Представляем reCAPTCHA v3
reCAPTCHA v3 помогает обнаруживать неправомерный трафик на вашем веб-сайте без взаимодействия с пользователем. Вместо того, чтобы показывать тест CAPTCHA, reCAPTCHA v3 возвращает оценку, чтобы вы могли выбрать наиболее подходящее действие для своего веб-сайта.
Что такое токен google recaptcha
reCAPTCHA v3 returns a score for each request without user friction. The score is based on interactions with your site and enables you to take an appropriate action for your site. Register reCAPTCHA v3 keys here.
This page explains how to enable and customize reCAPTCHA v3 on your webpage.
Placement on your website
reCAPTCHA v3 will never interrupt your users, so you can run it whenever you like without affecting conversion. reCAPTCHA works best when it has the most context about interactions with your site, which comes from seeing both legitimate and abusive behavior. For this reason, we recommend including reCAPTCHA verification on forms or actions as well as in the background of pages for analytics.
You can execute reCAPTCHA on as many actions as you want on the same page.
Automatically bind the challenge to a button
The easiest method for using reCAPTCHA v3 on your page is to include the necessary JavaScript resource and add a few attributes to your html button.
Load the JavaScript API.
Add a callback function to handle the token.
Add attributes to your html button.
Programmatically invoke the challenge
If you wish to have more control over when reCAPTCHA runs, you can use the execute method in grecaptcha object. To do this, you need to add a render parameter to the reCAPTCHA script load.
Load the JavaScript API with your sitekey.
Call grecaptcha.execute on each action you wish to protect.
Send the token immediately to your backend with the request to verify.
Interpreting the score
reCAPTCHA v3 returns a score (1.0 is very likely a good interaction, 0.0 is very likely a bot). Based on the score, you can take variable action in the context of your site. Every site is different, but below are some examples of how sites use the score. As in the examples below, take action behind the scenes instead of blocking traffic to better protect your site.
Use case Recommendation homepage See a cohesive view of your traffic on the admin console while filtering scrapers. login With low scores, require 2-factor-authentication or email verification to prevent credential stuffing attacks. social Limit unanswered friend requests from abusive users and send risky comments to moderation. e-commerce Put your real sales ahead of bots and identify risky transactions. reCAPTCHA learns by seeing real traffic on your site. For this reason, scores in a staging environment or soon after implementing may differ from production. As reCAPTCHA v3 doesn’t ever interrupt the user flow, you can first run reCAPTCHA without taking action and then decide on thresholds by looking at your traffic in the admin console. By default, you can use a threshold of 0.5.
Actions
reCAPTCHA v3 introduces a new concept: actions. When you specify an action name in each place you execute reCAPTCHA, you enable the following new features:
- A detailed break-down of data for your top ten actions in the admin console
- Adaptive risk analysis based on the context of the action, because abusive behavior can vary.
Importantly, when you verify the reCAPTCHA response, you should verify that the action name is the name you expect.
Site Verify Response
Make the request to verify the response token as with reCAPTCHA v2 or Invisible reCAPTCHA.
The response is a JSON object:
- grecaptcha.ready() runs your function when the reCAPTCHA library loads. To avoid race conditions with the api.js , include the api.js before your scripts that call grecaptcha, or continue to use the onload callback that’s defined with the v2 API.
- Try hooking the execute call to interesting or sensitive actions like Register, Password Reset, Purchase, or Play.
- Use https://www.google.com/recaptcha/api.js?trustedtypes=true to load code compatible with Trusted Types.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Как добавить в PHP-форму reCAPTCHA v3 и отправлять данные с помощью Ajax
В этом руководстве мы добавим в PHP-форму Google reCAPTCHA v3 и отправим ее данные без перезагрузки веб-страницы, используя Ajax.
Почему Google reCAPTCHA v3?
У многих пользователей раньше возникали проблемы при прохождении капчи.
К счастью, сейчас многие сайты используют Google reCAPTCHA v2, которая просто отображает флажок «Я не робот».
В 2018 году Google выпустила reCAPTCHA v3, которая вообще не требует взаимодействия с пользователем. Ее можно использовать в формах, чтобы предотвратить отправку спама.
Теперь узнаем, как добавить Google reCAPTCHA v3 в простую форму.
Регистрация ключей reCAPTCHA v3
Сначала необходимо зарегистрировать свой сайт и получить ключи здесь . Затем добавьте метку, выберите reCAPTCHA v3, введите доменное имя сайта и отправьте данные.
После этого будет сгенерирован site key и secret key. Скопируйте и сохраните их.
HTML-форма
В качестве примера используем простую форму с полями «Полное имя», «Электронная почта» и «Сообщение».
Ниже представлен HTML-код формы. Ее CSS-код доступен в архиве с исходниками .
Отправка данных формы с помощью Ajax
Доработаем процесс отправки формы с помощью Ajax, Для этого потребуется библиотека jQuery. Загрузите ее, используя CDN. Вставьте приведенную ниже строку кода перед закрывающимся тегом body.
Теперь выполнить Ajax-запрос на отправку данных формы.
Сейчас если вы нажмете кнопку отправки формы, то получите сообщение об ошибке 404. Так как файл contact.php еще не существует.
Создайте файл contact.php. На стороне сервера необходимо проверить полученные данные и отправить ответ JSON.
Теперь пришло время интегрировать reCAPTCHA v3.
Интеграция на стороне клиента
Загрузите API JavaScript с site key. Вставьте приведенный ниже код под ссылкой на CDN JQuery.
Важно : замените YOUR_SITE_KEY_HERE значением, которое вы сохранили ранее.
В документации к reCAPTCHA v3 сказано, что необходимо вызывать grecaptcha.execute для каждого пользовательского действия, которое нужно защитить (отправка данных формы). Этот вызов генерирует токен, который необходимо отправить вместе с данными формы для проверки на стороне сервера. Для этого нужно добавить в форму скрытое поле ввода и динамически присвоить ему значение токена:
Вызовите эту функцию ниже Ajax-запроса и присвойте скрытому полю ввода значение токена.
Значение ‘action’ является специфичным для действия отправки данных формы. Различные действия помогут анализировать данные по всему сайту, если добавить reCAPTCHA сразу в нескольких местах.
Примечание: срок действия токенов reCAPTCHA истекает через две минуты. Поэтому необходимо сгенерировать этот токен только после того, как пользователь нажмет кнопку отправки и перед выполнением Ajax- запрос.
Интеграция на стороне сервера
После проверки введенных пользователем данных на стороне сервера, нужно получить оценку от Google, чтобы убедиться в том, что имеем дело с реальным человеком. Внутри блока if(isvalid()) добавьте приведенный ниже код, чтобы выполнить API-запрос для получения оценки.
Важно : замените YOUR_SECRET_KEY_HERE значением, которое вы скопировали ранее. Secret key предназначен только для серверной части.
Полученный ответ является объектом JSON.
Расшифруем объект JSON $recaptcha и проверим success, score и action. Оценка имеет значение от 0,0 до 1,0. По умолчанию можно использовать порог 0,5.
Все готово! Нажмите кнопку отправки, и если вы все правильно настроили, то получите ответ your message was sent successfully .
Бонусный совет:
Добавив JavaScript API, мы получили раздражающий значок reCAPTCHA в правом нижнем углу веб-страницы.
Но этот значок можно скрыть, если добавить следующий текст в поток пользователя:
Поэтому добавьте это в элемент < p >под кнопкой отправки.
Теперь, чтобы скрыть значок, просто добавьте приведенный ниже код в CSS.
Мы успешно настроили Google reCAPTCHA v3 для формы. Теперь вы будете получать сообщения только от реальных людей.
СКАЧАТЬ ИСХОДНЫЙ КОД
Пожалуйста, оставьте свои отзывы по текущей теме статьи. Мы очень благодарим вас за ваши комментарии, дизлайки, подписки, отклики, лайки!
Капча — что это такое, какая она бывает и как правильно её выбирать
Капча (англ. captcha) — аббревиатура от «Completely Automatic Public Turing Test to Tell Computers and Humans Apart» (полностью автоматический тест Тьюринга для отличния компьютеров от людей). По сути, это защита от заполнения и отправки любых форм ботами и спамерами в автоматическом режиме, будь то запрос в поисковой системе или регистрация в каком-либо сервисе, отправка комментария под статьёй или заполнение анкеты на сайте. Как правило, представляет собой картинку с со случайным текстом, цифрами, буквами, значение которой нужно записать в специальную форму.
Пример капчи во Вконтакте
Эффект рассчитан на то, что боты картинку не распознают, а человек — сможет. Соответственно, спамеры в автоматическом режиме и боты проверку не пройдут, и спам тоже.
Виды капчи, какая она бывает
Как было сказано выше, как правило, капча — это картинка с цифрами и буквами. Однако, это не единственная её форма, ведь всё зависит от вашей фантазии.
Самая простая капча представляет собой чекбокс, куда надо поставить галочку в подтверждение о том, что вы — не робот.Капча на сайте МТС при отправке бесплатных sms
Бывают такие, что приходится выбирать картинки по какому-то признаку. Например, подобная схема реализована на сайте МТС в разделе отправки бесплатных сообщений SMS.
Собственно, видов превеликое множество. Как же выбрать то, что нужно? Лично я рекомендую пользоваться самописными вариантами, ибо тут всё будет зависеть от фантазии вашей или ваших программистов. Если капча получится оригинальной, то такую вещь обойти спамерам будет намного сложнее. Но, так как это довольно накладно либо по времени, либо по деньгам, советую воспользоваться сервисом Google reCAPTCHAGoogle ReCaptcha — как установить и настроить
Google reCAPTCHA — это сервис, который предоставляет бесплатную капчу для защиты различных форм ввода данных на сайте от спамеров и ботов.
На изображении вы видите промо Google reCAPTCHA Invisible — нового вида рекапчи (невидимая), который только проходит бета-тестирование. Соответственно, пока что пользоваться им я не рекомендую, лучше отдать предпочтение классической проверенной рекапче.
Нужно авторизоваться или завести новый аккаунт. Если у Вас уже есть аккаунт от почты Gmail, можно авторизоваться с его помощью.
После авторизации регистрируем сайт, получаем ключи доступа.
Регистрируем сайт для Google Recaptcha
- Название можно вводить любое — пригодится в дальнейшем, чтобы не запутаться, если связок ключей будет много
- Домены вводить по одному в строке. Если ввели домен example.com, то ключи будут работать и для всех его поддоменов
Если их прописать неверно, увидите ошибку Error: Invalid domain key или Ошибка: неверный домен ключа
Публичный и секретный ключи Google Recaptcha
Они понадобятся в дальнейшем:
- Публичный ключ будет использоваться в HTML формы отправки сообщений, или там, где мы хотим использовать капчу
- Секретный ключ нужно держать в тайне, он используется для связи сайта с Google Recaptcha
-
Если Вы умеете пользоваться Composer, просто вбиваете в консоль или командную строку следующую команду, которая скачает всё, что нужно:
Я приведу пример с последним вариантом.
В ней мы разместили нашу рекапчу над кнопкой отправки формы. Теперь нужно подключить обработчик. Над этой формой разместим следующий код:
Здесь мы подключили PHP библиотеку для обработки рекапчи, а также верифицировали капчу на сервере Google.
Я подготовил специальную страницу для проверки рекапчи: http://recaptcha.sheensay.ru — код полностью копирует источник выше.
В случае, если форма будет успешно отправлена, вы увидите соответствующее сообщение:Форма успешно отправлена
Если же, капча не пройдёт проверку, вы увидите сообщение об ошибке:
Проверка капчи не пройдена
Всё, теперь каждая форма комментариев защищена капчей.
Иерархия файлов в подобном проекте:
index.php в корне — тут располагается основной код, рядом располагается каталог recaptcha — в нём все файлы из PHP-библиотеки
Приведу полный код страницы http://recaptcha.sheensay.ru. Вы можете поменять логику вывода ошибок на свою:
Как установить Google Recaptcha в WordPress
Чтобы установить Google Recaptcha в WordPress, самым удобным будет сделать это через плагин Google Captcha (reCAPTCHA) by BestWebSoft
Устанавливаете плагин, в поля вводите ключи для домена, которые мы приготовили по инструкции выше — и готово.
Далее, переходите к настройкам плагина, вводите публичный и секретный ключи в соответствующие поля:
Страница настроек плагина Google Captcha (reCAPTCHA) by BestWebSoft
Как защитить комментарии от спама без капчи
Если морока с собственными комментариями ни к чему, трудно установить капчу, она Вам почему-то не нравится или просто нет такой возможности, то можно воспользоваться готовой системой комментирования Disqus. Как выглядит Disqus, можно увидеть под этой статьёй, на этом сайте интегрирована и используется эта система комментирования. Из плюсов — очень удобная система модерирования, отсутствие спама как такового, приятный внешний вид.
Как обойти капчу
Как говорилось выше, боты картинку капчи не распознают, а человек — сможет. Однако, и на старуху найдётся проруха, потому появились сервисы автоматического распознавания капчи. Одним из них является anti-captcha.com (бывший Antigate).
Суть сервиса заключается в том, что он за небольшую плату предоставляет сервис распознавания капчи. Капчу распознают люди, готовые это делать за копейки.
Такой сервис может пригодиться, скажем, для парсера поисковой выдачи (например, KeyCollector). Поисковые системы Google или Yandex при слишком частых запросах к ним начнут подозревать автоматические запросы и будут просить вводить капчу. Тут и пригодится сервис автоматического распознавания капчи. Сам сервис предоставляет API для взаимодействия с ним. Многие программы — парсеры, имеют встроенный функционал для взаимодействия с антикапчей (тот же KeyCollector имеет его), вам будет достаточно только пополнить баланс и прописать ключи API сервиса в программе, остальное — дело техники.HackWare.ru
Этичный хакинг и тестирование на проникновение, информационная безопасность
Как добавить на сайт reCAPTCHA v3 для защиты от парсинга и спама
В этой заметке я покажу примеры кода для интеграции reCAPTCHA v3 на сайт для защиты от просмотра страницы ботами (парсинг), для защиты от автоматических действий на сайте и блокировки спама.
Документация по интеграции reCAPTCHA v3 на сайт довольно скудная и запутанная. Я пошагово покажу пример добавления reCAPTCHA v3 на сайт и объясню используемый код (PHP и JavaScript) чтобы при необходимости вы могли внести нужные вам изменения.
Причём поскольку я тоже (как и большинство других веб-мастеров) интегрирую reCAPTCHA v3 в уже готовый проект с обширным исходным кодом, то я для себя выбрал подход минимального вмешательства в уже существующий код веб-сайта. К примеру, при добавлении reCAPTCHA v3 для проверки сделанных запросов из форм, исходный код форм вообще не будет меняться — будет вставлен небольшой фрагмент JavaScript кода, добавляющий прослушивание событий и внесение необходимых изменений «на лету».
Google reCAPTCHA v3 отличается от предыдущей версии (которая по-прежнему доступна для использования) reCAPTCHA v2 тем, что от пользователя не требуется абсолютно никаких действий. То есть проверка проходит автоматически и незаметно. Благодаря такому подходу кроме привычно интеграции в формы (для отправки комментариев, обратной связи, доступа к сервису) reCAPTCHA v3 можно использовать и для защиты просмотра страниц от ботов.
Имеется ввиду следующий ситуация: пользователь запрашивает страницу, но перед показом выполняется проверка — не является ли этот пользователь ботом. Если пользователь не является человеком, то запрещаем ему показ страницы. Такой вариант, в принципе, можно реализовать и с reCAPTCHA v2, но можно быть уверенным, что увидев капчу для просмотра страницы (даже если нужно всего лишь один раз кликнуть мышкой), очень многие пользователи просто закроют вкладку браузера. Google reCAPTCHA v3 лишена этого недостатка, поскольку пользователю ничего не показывается и от него не требуются никаких действий.
Какие последствия блокировки доступа ботам к сайту
Хотя описанная ниже техника блокировки доступа к сайту всех ботов эффективно помогает предотвратить парсинг сайтов при полной незаметности нормальным пользователям, полная блокировка ботов имеет очень важные последствия. Поэтому рассмотрим что нужно помнить при блокировке доступа ботов к сайту.
Во-первых, описанная техника заблокирует не только плохих ботов, но и хороших — таких как поисковых обходчиков от Google и Yandex. Это приведёт к тому, что если не будут предприняты дополнительные меры (например, разрешение доступа к сайту с IP принадлежащим Google и Yandex в обход капчи), то в конце концов сайт выпадет из индекса поисковых систем.
Во-вторых, некоторыми партнёрскими программами запрещено показывать рекламу на страницах, для которых закрыт доступ ботов (таких ботов как Mediapartners-Google и AdsBot-Google* для Google AdSense и YandexDirect для Рекламной Сети Яндекса). Если на защищаемом сайте показывается реклама, то нужно обеспечить доступ к страницам в обход капчи — поскольку эти роботы сами по себе не способны пройти тест «на человека».
При этом проверка качества ботов для доступа в обход капчи ни в коем случае не должна основываться только на User Agent клиента, поскольку его можно легко подменить.
По причине такого важного влияния блокировки доступа ботам, в этой статье рассмотрено два варианта блокировки:
- блокировка к просмотру сайта
- и более мягкий вариант — блокировка отправки форм
Вы сможете выбрать наиболее подходящий для вас. Либо сочетать оба приёма: полную блокировку доступа настроить, например, для страниц авторизации, и обычную блокировку — на страницах обратной связи, формах комментирования и т.д.
Где получить ключи Google reCAPTCHA v3
Использование reCAPTCHA v3 является бесплатным. Вам достаточно указать домен и выбрать reCAPTCHA v3 или v2. В этой инструкции я буду рассматривать третью версию.
Кстати, там так интересно написано:
Вы обязуетесь уведомлять посетителей сайта о наличии проверки reCAPTCHA v3, а также о том, что им необходимо соблюдать Политику конфиденциальности и Условия использования Google. Эту систему можно применять только для борьбы со спамом и другими нарушениями. Ее запрещено использовать в других целях, например для определения кредитоспособности, работоспособности, финансового статуса или страховых возможностей.
Очень бы хотелось узнать, как с помощью reCAPTCHA v3 можно определять работоспособность и финансовый статус.
Впоследствии просматривать статистику, а также получить доступ к настройкам вы сможете со страницы https://www.google.com/recaptcha/admin.
Принципы работы reCAPTCHA v3
Первоначальный этап оценки пользователя (бот или человек) осуществляется исключительно средствами JavaScript. То есть боты без поддержки JavaScript отсеиваются уже на этом этапе. Кстати, видимо, в статистику запросов эти боты также не попадают.
Во время своей работы reCAPTCHA v3 собирает данные о взаимодействии с сайтом и формирует длинную строку — токен.
Этот токен нужно передать на сервер, обслуживающий сайт, и уже сервер с применением секретного ключа должен сделать запрос к сервису reCAPTCHA v3. Ответ будет иметь вероятностный характер — будет прислано число в диапазоне от 0 (бот) до 1 (человек). Вам самим нужно решить, какой порог является проходным для данного сайта.
Исходя из этой информации сервер должен принять решение — обрабатывать ли полученный от пользователя запрос (например, показать ли ему страницу, принять ли присланные из формы данные и т.д.).
Пример на PHP для включения reCAPTCHA v3
Мой вариант реализации состоит из двух фрагментов PHP кода. Первый лучше расположить в начале файла. Второй фрагмент нужно расположить так, чтобы выводимый им HTML находился ближе к концу исходного кода вашего сайта. Причём вам необязательно делать это с помощью PHP — вы можете вставить этот фрагмент другим образом — только в этом случае обратите внимание, что там экранированы одинарные кавычки — не забудьте отменить экранирование (убрать обратные слэши).
Прежде чем показать код (в который я также вставил много комментариев), начну с объяснения принципа работы. В самом начале делается проверка — есть ли у пользователя токен. Если нет, то вместо показа пользователю страницы сайта, выводится HTML/JavaScript код, который только получает токен и сразу же возвращает пользователя на индексную страницу (все GET запросы сохраняются, но к ним добавляется ещё одна переменная — token).
Затем вновь проверяется — есть ли у пользователя токен, если уже есть, то делается запрос к сервису reCAPTCHA v3. Если ответ положительный (это человек), то код завершает свою работу — передаётся управление основному коду сайта. Если ответ отрицательный (это бот), то код обрывает последующую обработку этого запроса — то есть немедленно останавливает работу и не передаёт управление основному коду сайта.
Первый фрагмент кода отвечает и за проверку ботов при доступе к сайту, и за проверку ботов при отправке форм.
Обратите внимание на переменные:
Первая включает проверку при доступе к страницам (по умолчанию отключено), вторая — проверку при отправке формы. Установите значения на нужную вам конфигурацию (они работают независимо друг от друга).
Этот код нужен только если включена проверка ботов при отправке форм. Значение этого кода в том, что перед каждой отправкой формы к ней добавляется токен. Сам токен получается при отправке формы — при этом между нажатием на кнопку «Отправить» и самой отправкой не происходит дополнительной задержки.
Это чистый JavaScript без использования jQuery. Обратите внимание, как я обращаюсь к форме:
Дело в том, что у меня формы без имени и без идентификатора. Причём уникальная форма на каждой странице сайта, которых больше сотни. Благо на каждой странице форма только одна, поэтому я обращаюсь к ней по порядковому номеру. Вы можете отредактировать это под свои условия.
Не забудьте установить свои собственные ключи:
- в первом фрагменте нужно установить приватный ключ и два раза ключ сайта (в выводимом HTML/JavaScript коде)
- во втором фрагменте дважды нужно установить только ключ сайта — он также окажется в предназначенном для пользователя HTML/JavaScript
Официальная документация Google reCAPTCHA v3
Официальную информацию и инструкции вы найдёте на страницах:
- https://developers.google.com/recaptcha/docs/v3
- https://developers.google.com/recaptcha/docs/verify
Как это часто бывает с официальной документацией — на её основе невозможно ничего понять и невозможно что-либо настроить до рабочего состояния…
Самую важную информацию о реализации reCAPTCHA я позаимствовал из этой статьи:
При этом та инструкция содержит критическую логическую ошибку — для принятия решения используется присланное поле success. Но дело в том, что данное поле только говорит о том, являлся ли присланный токен верным токеном для данного сайта — о том, бот это или не бот, данное поле никак не сообщает. Настоящее значение, на которое нужно ориентироваться, это score. О нём чуть позже. То есть если в своей проверке использовать success, то даже явные боты, которые, может быть, набрали 0 очков, но которые сумели просто получить токен, будут успешно проходить проверку.
Тем не менее официальная документация имеет несколько познавательных фактов о reCAPTCHA — рассмотрим их.
Во-первых, там написано, что результат проверки с сервиса reCAPTCHA возвращается в виде объекта JSON. После конвертации в массив он имеет примерно такой вид:
Значение полей следующее:
reCAPTCHA v3 без взаимодействия с пользователем возвращает очки для каждого запроса. Эти очки основываются на взаимодействиях с вашим сайтом и дают вам возможность принять решение на их основе.
Ограничения токена
Каждый токен ответа пользователя reCAPTCHA является действительным в течении двух минут и может быть верифицирован только один раз (для предотвращения атак повторного воспроизведения (replay attacks)). Если вам нужен новый токен, то перезапустите верификацию reCAPTCHA.
После того, как вы получили токен ответа, вам нужно используя соответствующие API верифицировать его в течении двух минут с reCAPTCHA, чтобы убедиться, что он является действительным.
Размещение на вашем сайте
reCAPTCHA v3 никогда не будет прерывать ваших пользователей, поэтому вы можете запускать её когда хотите без негативных влияний. reCAPTCHA работает лучше когда она имеет большего всего контекста о взаимодействиях с вашим сайтом, что помогает видеть как легитимных, так и нарушающих условия пользователей. По этим причинам рекомендуется включать проверку reCAPTCHA на формах или действиях, а также в фоне страниц для анализа.
Примечание: вы можете выполнять reCAPTCHA так много раз, как вам хочется с различными действиями на той же странице.
Интерпретация очков
reCAPTCHA v3 возвращает очки (1.0 очень вероятно хорошее взаимодействие, 0.0 весьма вероятно бот). Основываясь на этих очках, вы можете предпринять различные действия в контексте вашего сайта. Каждый сайт отличается от других, но ниже несколько примеров, как сайты используют очки. Как примеры ниже, для лучшей защиты своего сайта выполняйте действия «за сценой» вместо блокировки трафика.
Случай использования Рекомендация homepage Наблюдайте за полной картиной в вашей панели администратора: сколько из пришедших это пользователи, а сколько разного рода парсеры login При низком показатели очков, требуйте 2-факторную аутентификацию или верификацию по почте для предотвращения атака связанных с учётными данными social Отправляйте комментарии от пользователей с подозрением на ботов на модерацию, ограничьте для них количество безответных запросов в друзья e-commerce Давайте приоритет реальным покупателям и выявляйте запросы, которые могут оказаться ненастоящими reCAPTCHA обучается наблюдая за реальным трафиком на вашем сайте. По этой причине очки на стадии разработки и сразу после реализации могут отличаться от продакшена. Поскольку reCAPTCHA v3 никак себя не проявляет, вы можете сначала запускать reCAPTCHA не предпринимая никаких действий, а затем принять решение по порогах, анализируя получаемые результаты в консоли администратора. По умолчанию вы можете использовать порог 0.5.
Заключение
Этот код я писал под конкретные особенности моего сайта. Вполне возможно, что это же самое можно было сделать более изящно. Но, главные его достоинства:
- он работает
- требуется только вставить эти фрагменты — не нужно исправлять уже существующий код. Даже не нужно присваивать форме имя или идентификатор — если у вас их нет
- в случае необходимости можно отключить работу кода, установив значения переменных на нули — не нужно выполнять более глубокое редактирование
На самом деле, есть место для улучшений: например, в приведённой реализации каждый поступивший от пользователя запрос проверяется. Можно, например, после первой проверки сохранять на сервере на некоторое время одобренный IP адрес и допускать к сайту без проверок. Либо можно генерировать уникальный маркер и сохранять в кукиз пользователя и в базе данных на сервере, сделав этот маркер действительным, например, на 10 минут.
При установке полной проверки доступа можно добавить функцию для проверки IP по WHOIS и допуска к сайту без капчи IP принадлежащих Google и Яндекс — чтобы поисковые роботы могли продолжать сканировать сайт.
Похожие публикации:
- Как зарегистрировать google cloud без карты
- Как изменить звук при оплате google play
- Как искать pdf в google
- Как называется winline в google play