Формы. Использование Google Recaptcha в формах

Google Recaptcha v3 позволяет прозрачно, без ручных проверок проверять пользователя на бота.

Как настроить рекапчу

Для использования Google Recaptcha необходимо выполнить следующее: 

1. Получить секретный и публичный ключи на сервисе Рекапчи (v3): https://www.google.com/recaptcha/intro/v3.html 

2. Добавляем ключи в настройки (as_settings) с кодами recaptchaPrivateKey, recaptchaPublicKey

3. В GetLayout Select 1 добавляем параметр recaptchaPublicKey:  dbo.as_setting('recaptchaPublicKey', '') recaptchaPublicKey

4. У формы в GetItem SELECT 2 поставить 1 EnableRecaptcha

5. В итоге при сохранении формы будет проводиться прозрачная проверка с обращением к внешнему сервису Google Recaptcha. 

Отключение рекапчи

  • Если необходимо у конкретной формы отключить рекапчу используйте 0 EnableRecaptcha в GetItem SELECT 2 для формы. 
  • Для полного отключения рекапчи на сайте достаточно сделать пустым параметр recaptchaPublicKey в GetLayout SELECT 1, а также очистить настройки recaptchaPublicKey  и recaptchaPrivateKey. 

Внутренние детали рекапчи

  • В поле input[type=hidden]#as-g-recaptcha хранится значение токена пользователя (оно переинициализируется при каждом сохранении поля). 
  • Проверка на бота происходит в форме перед вызовом процедуры CheckItem. 
  • Вы можете изменить сообщение о блокировке от Google - для этого необходимо указать значение в Lang метке с кодом invalidRecaptcha (part пустой).
  • token передается в форму через дополнительный параметр с кодом recaptchaToken в коллекции полей. После проверки он сразу удаляется из коллекции. 
  • если запускать приложение локально, то рекапча будет отключена и hidden поле не добавляется на страницу.

Falcon Space - функциональная веб-платформа разработки на узком стеке MS SQL/Bootstrap. Вводная по Falcon Space
Насколько полезной была статья?

Google поиск по нашей документации

Выгода от использования Falcon Space

В 2-3 раза экономнее и быстрее, чем заказная разработка
Более гибкая, чем коробочные решения и облачные сервисы
Используйте готовые решения и изменяйте под свои потребности
Нужна бесплатная консультация?
Планируете делать веб-проект?
Сайт использует Cookie. Правила конфиденциальности OK