Корзина
0
Скриншоты
Описание
Технические данные
- Опубликовано:
- 21.12.2015
- Обновлено:
- 16.08.2019
- Версия:
- 0.1.1
- Установлено:
- Более 1000 раз
- Подходящие редакции:
- «Первый сайт», «Старт», «Стандарт», «Малый бизнес», «Бизнес»
- Адаптивность:
- Нет
- Поддержка Композита:
- Нет
- Совместимо с Сайты24
- Нет
Описание
Обновление решения, приглашаем на бета-тестирование версии 0.2.0. Динамическое замена капчи битрикс в js-скриптах(работает в комментариях и заказе). Автообновление при изменениях на странице, фиксы обхода через стандартную капчу битрикс. Замена текста описаний полей и ошибок капчи. Теперь не требуется поддержки "curl" или "file_get_contents", запросы идут через API Битрикс.
Внимание модуль работает только с версией reCaptcha 2Капча (каптча, CAPTCHA) — система защиты от ботов, которая отделяет хороших пользователей от спамеров. Корпорация Google представила новую систему защиты от спамеров и ботов, которая отличается от того, что мы видели до сих пор - reCaptcha 2.0. Система анализирует, человек поставил отметку или робот, если проверка не пройдена, то предлагается визуальный отбор картинок, прослушивание аудио или классическую капчу
Отзывы (51)
Обсуждения (227)
Авторизуйтесь, чтобы оставить отзыв или задать вопрос разработчику.
31 января 2021 20:10
1 декабря 2020 11:53
8 октября 2020 02:09
9 ноября 2020 16:00
2 октября 2020 09:11
9 ноября 2020 16:03
25 сентября 2020 03:32
9 ноября 2020 16:01
Что нового
0.2.0 (15.08.2019) (beta) | Запросы перевели в API Битрикс - HttpClient Динамическая замена стандартной капчи Переработан алгоритм замены и проверки |
0.1.1 (26.06.2018) | „обавили поддержку curl и file_get_contents(если curl недоступен в настройках хостинга) „обавили поддержку invisible reCaptcha €справлена ошибка проверки включениЯ рекапчи |
0.1.0 (24.03.2017) | Добавили поддержку curl и file_get_contents(если curl недоступен в настройках хостинга) Добавили поддержку invisible reCaptcha |
0.0.9 (10.02.2017) | Убрали баг обхода через стандартную капчу |
0.0.6 (20.09.2016) | Установили LANGUAGE_ID язык для капчи |
0.0.5 (20.07.2016) | Работает только на сайтах с ядром D7 Исправили ошибку "[UCDF03] Не удалось создать папку Установили русский язык по-умолчанию для капчи Добавили функция для обновления рекапчи после ajax Recaptchafree.reset(), массив id виджетов Recaptchafree.items Изменили логику работы, для совместимости с новыми компонентами |
0.0.2 (29.12.2015) | Исправлены ошибки |
Установка
Требования к серверу:
openssl;
запросы идут через "curl" или "file_get_contents"(если нет curl), параметры необходимые при этом в php.ini;
Данный модуль заменяет стандартную капчу Битрикс, для инициализацию необходимо или использовать стандартный вызов капчи или инициализировать вручную. Проверка так же осуществляется через стандартную функцию Битрикс
Для работы капчи, необходимо установить модуль и перейти в настройки модуля, в настройках, для каждого сайта, указать:
1) ключ;
2) секретный ключ;
3) тема;
4) активность.
Для получения ключей необходимо перейти www.google.com/recaptcha, зарегистрироваться, и добавить Ваш сайт(домен).
для обновления рекапчи после ajax или после открытия popup-окон, необходимо вызвать функцию
так же доступны все виджеты на страницы, массив id виджетов
Для обновления рекапчи в Композитном режиме, необходимо вызвать обновление, пример
Маска исключения(в конце списка не должно быть ";"), будет отключена замена на установленных страницах, так же для данных страниц возможна ручная установка рекапчи, для этого нужно скрыть стандартные поля капчи Битрикс и поле name="captcha_word" указать value="*****" - произвольный набор из 5 символов и установить <div class="g-recaptcha" data-sitekey="****"></div>, где **** - Ваш ключ.
Доступна проверка стандартной капчи, через api, если в запросе нет вызова рекапчи.
$APPLICATION->CaptchaCheckCode($captcha_word, $captcha_sid)
Для браузеров Opera Mobile, Android Native Broweser ниже 4.0 будет показана стандартная капча
Invisible reCaptcha и настройка:
Доступна Invisible reCaptcha. Для ее работы необходимо в настройках указать параметр "Размер"="Невидимый". При этом можно указать положение логотипа reCaptcha на странице. Внимание, для работы в режиме "Invisible", необходимо обновить ключи.
При режиме Invisible reCaptcha, на событие формы "submit" будет вызывать проверку и возвращать callback функцию, которая будет отправлять веб-форму методом submit. Поэтому, если у Вас есть проверки на submit() или отправка форм ajax, необходимо переопределить функцию "RecaptchafreeSubmitForm". Обратите внимание, что функция будет вызываться для всех форм, где стоит рекапча, а в функцию передается только ссылка на форму текущую.
ссылка на веб-форму, которая прошла проверку ReCaptcha
шаблон костомизации:
Пример:
openssl;
extension=php_openssl.dll для windows |
allow_url_include = On allow_url_fopen = On |
Данный модуль заменяет стандартную капчу Битрикс, для инициализацию необходимо или использовать стандартный вызов капчи или инициализировать вручную. Проверка так же осуществляется через стандартную функцию Битрикс
<input type="hidden" name="captcha_sid" value="<?=$arResult["capCode"]?>"> <img src="/bitrix/tools/captcha.php?captcha_sid=<?=$arResult["capCode"]?>" width="140" height="30" alt="CAPTCHA"> <input type="text" name="captcha_word" size="30" maxlength="50" value="" > |
1) ключ;
2) секретный ключ;
3) тема;
4) активность.
Для получения ключей необходимо перейти www.google.com/recaptcha, зарегистрироваться, и добавить Ваш сайт(домен).
для обновления рекапчи после ajax или после открытия popup-окон, необходимо вызвать функцию
Recaptchafree.reset(); |
Recaptchafree.items |
<sc ript type="text/javascript"> if (window.frameCacheVars !== undefined) { BX.addCustomEvent("onFrameDataReceived" , function(json) { Recaptchafree.reset(); }); } </sc ript> |
Маска исключения(в конце списка не должно быть ";"), будет отключена замена на установленных страницах, так же для данных страниц возможна ручная установка рекапчи, для этого нужно скрыть стандартные поля капчи Битрикс и поле name="captcha_word" указать value="*****" - произвольный набор из 5 символов и установить <div class="g-recaptcha" data-sitekey="****"></div>, где **** - Ваш ключ.
Доступна проверка стандартной капчи, через api, если в запросе нет вызова рекапчи.
$APPLICATION->CaptchaCheckCode($captcha_word, $captcha_sid)
Для браузеров Opera Mobile, Android Native Broweser ниже 4.0 будет показана стандартная капча
Invisible reCaptcha и настройка:
Доступна Invisible reCaptcha. Для ее работы необходимо в настройках указать параметр "Размер"="Невидимый". При этом можно указать положение логотипа reCaptcha на странице. Внимание, для работы в режиме "Invisible", необходимо обновить ключи.
При режиме Invisible reCaptcha, на событие формы "submit" будет вызывать проверку и возвращать callback функцию, которая будет отправлять веб-форму методом submit. Поэтому, если у Вас есть проверки на submit() или отправка форм ajax, необходимо переопределить функцию "RecaptchafreeSubmitForm". Обратите внимание, что функция будет вызываться для всех форм, где стоит рекапча, а в функцию передается только ссылка на форму текущую.
ссылка на веб-форму, которая прошла проверку ReCaptcha
Recaptchafree.form_submit |
var _RecaptchafreeSubmitForm = RecaptchafreeSubmitForm; RecaptchafreeSubmitForm = function(token){ if(Recaptchafree.form_submit !== undefined){ // если ссылка есть на форму //token - ключ ответа, который необходимо передать для текущей формы, имя переменной g-recaptcha-response далее действия: отправка ajax или/и вызов события $(Recaptchafree.form_submit).trigger("submit_ajax"); // пример вызова костомного события для проверки и отправки веб-формы ajax } }; |
var _RecaptchafreeSubmitForm = RecaptchafreeSubmitForm; RecaptchafreeSubmitForm = function(token){ if(Recaptchafree.form_submit !== undefined){ // если ссылка существует на форму var x = document.createElement("INPUT"); // создаем поле hidden x.setAttribute("type", "hidden"); x.name = "g-recaptcha-response"; // имя поля g-recaptcha-response x.value = token; // значение token Recaptchafree.form_submit.appendChild(x); // добавляем в текущую форму var elements = Recaptchafree.form_submit.elements; // список элементов формы for (var i = 0; i < elements.length; i++) { // получаем submit и берем ее имя и значение, чтобы передать, //к примеру веб-формы Битрикс требуют обязательно при передачи ajax значения submit if(elements[i].getAttribute("type") === "submit") { var submit_hidden = document.createElement("INPUT"); // create submit input hidden submit_hidden.setAttribute("type", "hidden"); submit_hidden.name = elements[i].name; submit_hidden.value = elements[i].value; Recaptchafree.form_submit.appendChild(submit_hidden); // append current form } } $(Recaptchafree.form_submit).trigger("submit_ajax"); // вызов события для веб-формы } }; // по событию отправка формы $(document).on("submit_ajax", "#feedback", function(){ $.ajax({ type: $(this).attr("method"), url: $(this).attr("action"), data: $(this).serialize() + "&ajax=y", cache: false, dataType: "html", success: function(data){ //data - ответ }, error: function(msg){ alert( "Ошибка отправки, попробуйте позже" ); }, complete:function(){ Recaptchafree.reset(); // сброс рекапчи, для повторного ввода } }); return false; }); |
Поддержка
Модуль бесплатный, техническая поддержка не оказывается. Для настройки внимательно прочитайте инструкцию.