quanzo/bitrix-recaptcha-v3

Invisible recpatcha for bitrix

1.0.0 2019-08-30 08:25 UTC

This package is auto-updated.

Last update: 2024-04-29 04:44:49 UTC


README

 

Модуль не заменяет стандартную капчу.

 

Установка

Скопировать в папку module в /bitrix/modules/x51.recaptchav3/

Composer

Добавить в composer.json приложения

"require": {
    "quanzo/bitrix-recaptcha-v3": "*"
},
"scripts": {
    "post-package-install": [
        "x51\\bitrix\\module\\recaptchav3\\InstallViaComposer::postPackageInstall"
    ],
    "pre-package-uninstall": [
        x51\\bitrix\\module\\recaptchav3\\InstallViaComposer::prePackageUninstall"
    ]
}

При установке, будет скачан пакет и появится символическая ссылка на модуль в папке bitrix/modules

В адиминстративной панели битрикса модуль надо активировать обычным порядком.

При удалении, символическая ссылка будет убрана. Записи в scripts надо удалить вручную уже после удаления пакета.

Если папка vendor находится вне bitrix, то необходимо дописать

"require": {
    "quanzo/bitrix-recaptcha-v3": "*"
},
"extra": {
    "documentRoot": "/var/www/site/public_html"
},
"scripts": {
    "post-package-install": [
        "x51\\bitrix\\module\\recaptchav3\\InstallViaComposer::postPackageInstall"
    ],
    "pre-package-uninstall": [
        x51\\bitrix\\module\\recaptchav3\\InstallViaComposer::prePackageUninstall"
    ]
}

Настройки модуля

  • Открытый и секретный ключи для recaptcha

  • Оценка пользователя, при которой он считается приемлемым

  • Запускать модуль только для определенных URL

  • Исключить определенные группы пользователей. Для них оценка всегда 1.0

  • Не запускать reСaptcha, если оценка пользователя уже определена

  • Запрет на добавление пользователя с низкой оценкой

  • Запрет на регистрацию пользователя с низкой оценкой

  • Запрет почтовых событий для пользователя с низкой оценкой

 

Как работает

  • К странице сайта подключается recaptcha обычным способом

  • Запрашивается токен пользователя

  • Отправляется запрос на сервер, к модулю. Затем модуль, по токену, получает оценку пользователя от recaptcha.

  • Возвращает 1 - если пользователь, и 0 - если бот. Для оценки используется настройка модуля.

 

Как использовать

$request = \Bitrix\Main\Application::getInstance()->getContext()->getRequest();
$validUser = true;

if (\Bitrix\Main\Loader::includeModule('x51.recaptchav3')) {
    $validUser = \x51\bitrix\module\recaptchav3\Main::isValidUser() ? true : false;
}

if (($request->isPost() && $validUser) || !$request->isPost()) {

//здесь компонент отправки формы

} else {
    echo 'Отправка сообщения запрещена!
Обнаружены признаки спама!';
}

 

Возможно определить js функции.

recaptchaSuccess(data) - будет вызвана при удачной передаче токена на сайт через ajax запрос. data будет содержать 1 или 0

recaptchaError(request, status) - будет вызвана при неудачной передаче токена на сайт через ajax запрос