Маркет плейс лицензия вышла, а в данный момент нужна только reCAPTCHA в форме регистрации.
Выполнил следующие действия:
1. Заходим в личный кабинет ReCaptcha в Google https://www.google.com/recaptcha/admin#list, для этого у вас должен быть аккаунт в гугл, т.е. заведенная почта. И в этом личном кабинете добавляем сайт, на который встраиваем ReCaptcha. После добавления сайта вы получите 2-а ключа, которые нам нужны дальше.
2. Скачиваем библиотеку ReCaptcha тут https://github.com/google/recaptcha, далее из этой библиотеки берем только файлы из директории /SRC/ autoload.php и директорию /ReCaptcha/ и кjпируем их в /bitrix/php_interface/include/ (директорию /include/ нужно создать, ее там изначально нет).
3. Далее в init,php подключаем капчу с ключами, вставляя следующий код в самом начале файла, ну после <? :
6. В компоненте добавляем проверку, т.е. в файл /bitrix/components/bitrix/компонент/component.php (но только, лучше создать свое пространство имен, чтобы обновлениями не затереть все)
Код
$recaptcha = new \ReCaptcha\ReCaptcha(RE_SEC_KEY);
$resp = $recaptcha->verify($_REQUEST['g-recaptcha-response'], $_SERVER['REMOTE_ADDR']);
if (!$resp->isSuccess()){
foreach ($resp->getErrorCodes() as $code) { echo "Ошибка! Проверка не пройдена.";
echo $code;
return; } }
Все сделал, но 6 пункт не срабатывает! Не срабатывает запрет за регистрацию при не заполненной reCAPTCHA Сообщение - "Ошибка! Проверка не пройдена." не выводится! Как решить данную проблему?
Не получается решить следующий вопрос Необходимо разместить форму обратной связи в шаблоне компонента catalog.element И чтобы в вопрос веб-формы обратной связи передавалась название элемента каталога.
т. е. Чтоб название элемента каталога по умолчанию в обратную связь прописывалось ? Как это лучше сделать и возможно ли без result_modifier.php ?