капча для формы обратной связи битрикс
Google reCAPTCHA
Технические данные
Описание
Модуль встраивает данный механизм защиты на сайт.
Есть поддержка многосайтовости.
Расширение cURL должно быть включено в PHP.
1.1.6 (29.03.2020) | Добавлена возможность отключения защиты при добавлении информации из кода. |
1.1.5 (28.03.2020) | Добавлена поддержка компонента sale.order.ajax. |
1.1.4 (27.03.2020) | Мелкие фиксы: — Путь определения админки изменён с ‘/bitrix/’ на ‘/bitrix/admin/’ (не используется капча если добавляем из админки). — ReCaptcha::verify при ошибке запроса не возвращал объект. |
1.1.3 (06.03.2020) | Добавлена поддержка компонента main.feedback. |
1.1.2 (04.03.2020) | Добавлена поддержка компонента system.auth.registration. |
1.1.1 () | Изменён запрос до google сервера проверки капчи с file_get_contents(stream_context_create) на cURL. Расширение cURL должно быть включено в PHP. |
1.1.0 () | Добавлена поддержка многосайтовости. Перед обновлением нужно запомнить настройки капчи, так как они будут сброшены, и настраивать придётся заново. |
Авторизоваться через google аккаунт и зарегистрировать свой сайт по ссылке
https://www.google.com/recaptcha/admin/create
и получить ключи для reCaptcha v3.
(при ситуации,когда есть тестовый сайт, вписывайте его в поле «Домены»)
В административном разделе, в настройках модуля, вставить полученные ключи.
( Настройки > Настройки продукта > Настройки модулей > Google ReCaptcha )
Примечание:
Если включена защита на какой то компонент, к примеру, инфо блок и из кода добавляется в этот инфоблок информация, то она не добавится из за проверки капчи.
Нужно передать в массив полей: ключ «RECAPTCHA_DISABLE» со значением true.
Примечание:
Если включена регистрация при оформлении заказа в компоненте sale.order.ajax то настройка чуть ниже в блоке «Настройка защиты ‘Оформления заказа (sale.order.ajax)'»
Настройка защиты «Формы обратной связи (main.feedback)»:
По умолчанию в этом компоненте не выводится ошибка капчи. Инструкция, по настройке выводу ошибки, чуть ниже.
1. В настройках модуля находим блок «Форма обратной связи», выбираем нужные почтовые шаблоны для защиты от спама и сохранить изменения.
2. В шаблоне Формы обратной связи вставить скрытое поле в тег формы.
И всё! Вывод ошибок капчи будет работать.
Настройка защиты «Оформления заказа (sale.order.ajax)»:
1. В настройках модуля находим блок «Оформление заказа», жмём на «Включить капчу» для защиты от спама и сохранить изменения.
2. Перейти в папку шаблона компонента. Открыть файл order_ajax.js.
У меня это находится тут bitrix\templates\eshop_bootstrap_v4\components\bitrix\sale.order.ajax\bootstrap_v5\order_ajax.js
на 186 строке идёт отправка данных методом ajax
в объект data вставить токен рекапчи:
Как работает модуль? (для программистов)
js часть:
При загрузке страницы, в объекте window создаётся объект recaptcha, в котором запрашивается и хранится токен.
Каждые 100 секунд токен обновляется.
Далее ищутся все поля с именем recaptcha_token (input[name=recaptcha_token]) и к формам, в которых эти поля находятся, вешается событие onsubmit.
При отправке формы помещается токен в скрытое поле и запрашивается новый токен.
Такой механизм запроса токена «заранее», реализован с целью убрать задержку перед отправкой формы.
php часть:
При построении каждой страницы, регистрируются события для проверки токена, отправленного вместе с формой. Этот токен и секретный ключ отправляются на сервер гугла для получения результата.
Если токен верный и пришедшая оценка выше или равна той, что в настройках, тогда данные формы обрабатываются, иначе выводится текст с ошибкой.
reCAPTCHA для BITRIX
Технические данные
Описание
Модуль автоматически заменяет обычную капчу 1С-Битрикс на Google reCAPTCHA.
Писал на почту:
————————————————
Поставил модуль на сайт, настроил. В формах обратной связи работает. Но на странице регистрации нет.
Пока удалил. Можете установить для проверки.
Но после удалите, если проблему не устранили..
P.S. Сайт работает на Интек. Universe
Здравствуйте. Написали вам на почту, но не получили ответа.
Вопрос такой, если мы купим ваше решение, отправим вам купон и доступы, вы можете его вручную поставить?
Мы не можем, т.к. на сайте
>>Ошибка [MP_LICENSE_VIOLATION]
Эту проблему решим, но позже.
1.0.12 (12.07.2019) | Исправлена ошибка вывода в компоненте bitrix:blog.post.comment |
1.0.11 (10.09.2018) | Исправлена ошибка ajax режима |
1.0.10 (23.07.2018) | Исправлена ошибка при нажатии на кнопку «Протестировать новое решение» Исправлена ошибка для PHP 5.3 (вызов внешней функции из анонимной фунции) Исправлена ошибка рекапчи при использовании битриксового ajax («AJAX_MODE» => «Y») в компонентах Добавлено корректное подключение минифицированных версий js |
1.0.9 (05.04.2018) | Исправлена ошибка в проверке панели администратора |
1.0.8 (05.04.2018) | Исправлен порядок подключения скриптов Переписаны скрипты, отвечающие за динамическую замену капчи Исправлена ошибка: две рекапчи при авторизации (system.auth.form) и неверном вводе пароля Исправлена ошибка: ошибка при регистрации (main.register) |
1.0.7 (14.11.2017) | Исправлена ошибка демо-режима |
Ответы на часто задаваемые вопросы вы найдете в базе знаний по модулям ИНТЕРВОЛГИ.
Капча для формы обратной связи битрикс
Курс предназначен для базовой подготовки пользователей, осуществляющих администрирование порталов, созданных на коробочной версии сервиса Битрикс24. Изучение курса позволяет освоить основные методы администрирования системы. Если вы хотите ознакомиться с тем как внедрить наш сервис в работу вашей компании, то для вас создан курс Внедрение корпоративного портала.
Курс предусматривает обучение по двум ролям администраторов: Администратор корпоративного портала и Администратор системы.
Разные роли созданы в связи с тем, что для администрирования настроенного и отлаженного корпоративного портала нет необходимости в работе профессионала высокого уровня. Вполне достаточно пользователя успешно изучившего данный курс в рамках роли Администратор КП.
При условии качественного изучения материалов курса, по его окончании специалист должен уметь:
Начальные требования
Для прохождения курса необходимо:
Если вам предстоит самостоятельная установка системы, то рекомендуется к изучению курс Установка и настройка.
Администратору системы будет полезно ознакомиться с курсом Разработчик Bitrix Framework, рассказывающем о принципах работы Bitrix Framework.
У нас часто спрашивают, сколько нужно заплатить
Ещё у нас есть Академия 1С-Битрикс, где можно обучиться на платной основе на курсах нашей компании либо наших партнёров.
Баллы опыта
уроке.
Тесты и сертификат
После изучения курса вам будет предложено пройти тесты на сертификацию. При успешной сдаче линейки тестов на странице Моё обучение можно просмотреть результат обучения и загрузить сертификат в формате PDF.
Для преподавания оффлайн
Если данный курс берётся в качестве основы для оффлайного преподавания, то рекомендуемая продолжительность: 10 дней (70 академических часов).
Если нет интернета
Скачать материалы курса в формате EPUB. Файлы формата EPUB Чем открыть файл на
Android:
EPUB Reader
CoolReader
FBReader
Moon+ Reader
eBoox
iPhone:
FBReader
CoolReader
iBook
Bookmate
Windows:
Calibre
FBReader
Icecream Ebook Reader
Плагины для браузеров:
EpuBReader – для Firefox
Readium – для Google Chrome
Битрикс и reCapcha. Боремся с роботами, а не с людьми
Что такое капча и какие с ней бывают проблемы
Что такое “капча” сегодня знает даже школьник. А вот “зачем” — хорошо знают владельцы сайтов.
Google-капча: принцип работы
reCAPTCHA представляет из себя небольшой виджет. Для большинства пользователей он выглядит как просто поле с галочкой.
В некоторых случаях потребуется пройти небольшое задание, чтобы доказать что Вы не робот. Например, Google может попросить Вас выбрать из списка изображения с определенным объектом, или выделить на одном изображении нужный объект:
Потребуют ли от Вас проходить такое задание или нет зависит от того, что Google знает о Вас.
Работа большинства капч основана на задаче распознавания текста. Роботы плюс-минус научились их разгадывать. Google reCaptcha 2.0 пошла дальше и использует задачи распознавания изображений. Пока роботы угадывают изображения сильно хуже людей.
Как подключить reCAPTHCA в Битрикс
Мы бы хотели найти такую волшебную таблетку, которая решит эту задачу. Но наше исследование показывает что пока ее нет. Поэтому кроме обзора MarketPlace-решений мы опишем наше видение архитектурно-правильных вариантов такой интеграции.
Решения из MarketPlace
Наиболее больные острые вопросы при подключении рекапчи:
поддержка нескольких капч на странице,
капча во всплывающем окне, которое потенциально загружается по AJAX.
Как же справляются с этими задачами готовые решения Marketplace?
Мы проверили на примере пары самых популярных (по количеству установок) решений которые можно попробовать без покупки.
Модуль “ reCaptchaFree ”
настройка визуального отображения виджета и т.д.
Порадовало, что модуль оказался работоспособен на формах в модальном окне и AJAX-форме. Однако, для работы некоторых компонентов в режиме ajax требуется вносить изменения в код шаблона, что неудобно, если таких компонентов на сайте много.
Также после установки модуля потребуется отредактировать шаблон компонента, чтобы избавиться от подобных ситуаций:
Как выяснилось позже, это необходимо проделать для всех модулей.
Модуль “ Google ReCaptcha – улучшенная капча и защита от ботов ”
Состав настроек невелик: только ключи. Поэтому для отключения рекапчи придется удалять модуль.
Что касается работоспособности, то с обычными формами модуль справился неплохо. А вот с некоторыми компонентами в режиме Ajax вызвал ошибки.
Другие модули (например, Google reCAPTCHA | продвинутая капча ) из MarketPlace не предоставляют возможность для тестирования.
Как сделать самим
Если по каким-то причинам нас не устраивают готовые решения или нам требуется рекапча только в одной форме на сайте, то мы можем сами ее подключить. Мы знаем 3 правильных способа это сделать.
Кастомизация компонента и шаблона компонента
Так архитектурно правильно. MVC и все такое.
Шаблон компонента кешируется и выполняется не всегда.
Следовательно, без кастомизации компонента здесь никак не обойтись.
public static function getPublicKey()
public static function getSecretKey()
public static function checkClientResponse()
$data = array(‘secret’ => static::getSecretKey(), ‘response’