Каталог решений

Покупка продления купона

Продолжительность:
Общая сумма:
0 руб.
Ваш запрос успешно отправлен!

Я согласен с условиями активации продлений
Продлить
Продолжить покупки

reCaptchaFree

Обновление решения, приглашаем на бета-тестирование версии 0.2.0. Динамическое замена капчи битрикс в js-скриптах(работает в комментариях и заказе). Автообновление при изменениях на странице, фиксы обхода через стандартную капчу битрикс. Замена текста описаний полей и ошибок капчи. Теперь не требуется поддержки  "curl" или "file_get_contents", запросы идут через API Битрикс.Внимание модуль работает только с версией reCaptcha 2Капча (каптча, CAPTCHA) — система защиты от ботов, которая отделяет хороших пользователей от спамеров. Корпорация Google представила новую систему защиты от спамеров и ботов, которая отличается от того, что мы видели до сих пор - reCaptcha 2.0. Система анализирует, человек поставил отметку или робот, если проверка не пройдена, то предлагается визуальный отбор картинок, прослушивание аудио или классическую капчу

reCaptchaFree

reCaptchaFree

от "ТВИМ"
Скриншоты
Описание

Технические данные

Опубликовано:
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)

1 - 10 из 51
Обсуждения (228)
1 - 5 из 228
Что нового
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;
extension=php_openssl.dll для windows
запросы идут  через "curl" или "file_get_contents"(если нет curl), параметры необходимые при этом в php.ini;
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();
так же доступны все виджеты на страницы,  массив id виджетов
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;
});
Поддержка
Модуль бесплатный, техническая поддержка не оказывается. Для настройки внимательно прочитайте инструкцию.

Другие решения разработчика

Решение добавлено в корзину

Перейдите в корзину и оформите заказ или продолжите покупки
Перейти в корзину
Продолжить покупки