1. Ставим модули CAPTCHA, reCAPTCHA и reCAPTCHA v3:
composer require drupal/captcha drupal/recaptcha drupal/recaptcha_v3
2. Включаем модули:
vendor/bin/drush en captcha recaptcha recaptcha_v3
3. На странице admin/config/people/captcha/recaptcha
настраиваем reCaptcha v2. При регистрации сайта в https://www.google.com/recaptcha/admin/create
надо будет выбрать тип капчи
С помощью заданий (v2) + Флажок "Я не робот":
4. На странице admin/config/people/captcha/recaptcha-v3
настраиваем reCaptcha v3. При получении второй пары ключей на https://www.google.com/recaptcha/admin/create
надо будет выбрать тип капчи С использованием оценок (v3):
После заполнения ключей, ниже, в поле Default fallback challenge type выбираем reCAPTCHA (from module recaptcha):
5. На странице admin/config/people/captcha/recaptcha-v3-actions
добавляем новый экшен. В качестве Fallback challenge выбираем reCAPTCHA (from module recaptcha):
6. На странице admin/config/people/captcha
выбираем Default challenge type = recaptcha_v3 (from module recaptcha_v3).
Теперь по умолчанию пользователю будет выводится скрытая капча (reCAPTCHA v3) и если при отправке формы алгоритмы гугла посчитают пользователя ботом, то форма перегрузится и пользователь увидит стандартную рекапчу с чекбоксом "Я не робот".
Для проверки работы скрытой капчи, в настройках reCAPTCHA v3 action, созданного в пятом пункте, в поле Threshold прописываем 1
, после чего открываем форму в режиме браузера "инкогнито" и пытаемся отправить её.
Если пользуетесь ajax-формами, то дополнительно надо установить патч https://www.drupal.org/project/recaptcha/issues/2493183#comment-15005511
Добавить комментарий