Капча / каптча / CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) — интерактивная проверка, отделяющая обычных пользователей от спамеров/ботов.
Cloudflare.com представила более умную систему защиты – Turnstile, схожую по механике работы с Google reCaptcha 2.0, но без утомительного разгадывания "отметьте на фото гидранты/светофоры/автобусы" или ввода текста с картинки.
По нашим тестам − из всех капч, именно эта допекает пользователей меньше всех (тестировали hCaptcha, Yandex SmartCaptcha, MTCaptcha).
Cloudflare Turnstile не использует данные пользователей в рекламных/аналитических целях, как это делают капчи Гугла или Яндекса.
Модуль автоматически заменяет стандартную капчу Битрикс на Cloudflare Turnstile.
Загрузка скриптов производится в асинхронном отложенном режиме (async defer), что не влияет на производительность сайта.
Внешний вид капчи можно регулировать − выбирается тип виджета (обычный / квадратный), тёмная/светлая/автоматическая тема.
Для работы модуля ОБЯЗАТЕЛЬНО требуется расширение curl для PHP и директивы:
allow_url_include = On allow_url_fopen = On |
Изменить эти директивы можно в панели управления хостингом / в актуальном php.ini на вашем vps/vds, или через обращение в техподдержку хостинга.
После установки в настройках модуля нужно заполнить "Site Key" и "Secret Key".
Для получения ключей необходимо перейти на https://dash.cloudflare.com, зарегистрироваться/войти, и добавить сайт в разделе Turnstile https://cln.sh/gJj0XwLF c типом Widget Mode: Managed (добавлять домен под защиту Cloudflare с изменением NS не нужно, любой сайт добавляется как custom domain https://cln.sh/c7706kHF).
В настройках так же можно выбрать тему капчи вручную (светлую или темную) или поставить автоматическое переключение под тему браузера.
Капча встраивается поверх стандартной капчи Битрикс, подменяя её, для инициализации нужно использовать стандартный вызов капчи:
<? $cpt = new CCaptcha(); $cpt->SetCode(); ?> <input type="hidden" name="captcha_sid" value="<?= $cpt->GetSID() ?>"> <img src="/bitrix/tools/captcha.php?captcha_sid=<?= $cpt->GetSID() ?>" width="140" height="30" alt="CAPTCHA"> <input type="text" name="captcha_word" size="30" maxlength="50" value=""> |
или инициализировать вручную:
<div class="cf-turnstile" data-sitekey="****"></div> |
Проверка осуществляется через стандартную функцию Битрикс:
< ? if ($APPLICATION->CaptchaCheckCode($_POST['captcha_word'], $_POST['captcha_sid'])) { // success } ? > |
Для обновления капчи при ajax запросах нужно сбросить её через js-функцию:
<s c r i p t> turnstile.render(document.querySelector('.cf-turnstile')); </s c r i p t> |
Вопрос: Я вижу в консоли браузера запрос к cloudflare.com с кодом ответа 401, это ошибка?
Ответ: Нет, это можно игнорировать. Там идёт запрос особого токена (iOS/macOS в Safari) и если его нет, то проверка идёт другим путём. https://developers.cloudflare.com/turnstile/frequently-asked-questions/#i-am-seeing-a-401-error-in-y...
Вопрос: Виджет капчи чуть больше/меньше чем я ожидаю, можно ли поменять?
Ответ: Да, можно поменять через стили. У контейнера с капчей есть css-класс "cf-turnstile". Мы обычно меняем масштаб виджета через transform: scale(), и через transform: translate() двигаем если нужно. Плюс padding / margin в зависимости от индивидуальных особенностей сайта.
Вопрос: Капча не отображается в модальном окне Fancybox, как поправить?
Ответ: Пока никак, Fancybox странным образом меняет контент элемента с Turnstile. Баг отправлен разработчикам, ожидаем доработки со стороны Cloudflare.
———
Техническая поддержка не предусмотрена, так как модуль бесплатный и ещё в бете. О багах просьба сообщать на marketplace@web-industry.pro.
Для покупки товара в нашем интернет-магазине выберите понравившийся товар и добавьте его в корзину. Далее перейдите в Корзину и нажмите на «Оформить заказ» или «Быстрый заказ».
Если оформляете быстрый заказ: напишите ФИО, телефон и e-mail. Вам перезвонит менеджер и уточнит условия заказа. По результатам разговора вам придет подтверждение оформления товара на почту или через СМС. Теперь останется только ждать доставки и радоваться новой покупке.
Оформление заказа в стандартном режиме выглядит следующим образом. Заполняете полностью форму по последовательным этапам: адрес, способ доставки, оплаты, данные о себе. Советуем в комментарии к заказу написать информацию, которая поможет курьеру вас найти. Нажмите кнопку «Оформить заказ».
Оплачивайте покупки удобным способом. В интернет-магазине доступно 3 варианта оплаты:
- Наличные при самовывозе или доставке курьером. Специалист свяжется с вами в день доставки, чтобы уточнить время и заранее подготовить сдачу с любой купюры. Вы подписываете товаросопроводительные документы, вносите денежные средства, получаете товар и чек.
- Безналичный расчет при самовывозе или оформлении в интернет-магазине: карты МИР. Чтобы оплатить покупку на сайте, система перенаправит вас на сервер платежной системы. Здесь нужно ввести номер карты, срок действия и имя держателя.
- Электронные системы при онлайн-заказе: ЮMoney. Для совершения покупки система перенаправит вас на страницу платежного сервиса. Здесь необходимо заполнить форму по инструкции.
- Безналичная оплата на наш расчетный счет по выставленному счету.
Экономьте время на получении заказа. В интернет-магазине доступно 4 варианта доставки:
- Электронная поставка - все необходимые сведения о лицензии, праве пользования, кодах, ключах и др. высылаются покупателю на его e-mail.
- Курьерская доставка. Когда товар будет отправлен с нашего склада, Вам придет уведомление. В день доставки с Вами заблаговременно свяжется курьер для уточнения времени и деталей доставки. Доставка производится "до двери". Осмотрите упаковку на целостность и соответствие указанной комплектации.
- Постамат. Когда заказ поступит на точку, на Ваш телефон или e-mail придет уникальный код. Заказ нужно оплатить в терминале постамата. Срок хранения — 3 дня.
- Доставка Почтой России. Когда заказ придет в отделение, на Ваш адрес придет извещение о посылке. Перед оплатой Вы можете оценить состояние коробки: вес, целостность. Вскрывать коробку самостоятельно Вы можете только после оплаты заказа. Один заказ может содержать не больше 10 позиций и его стоимость не должна превышать 100 000 р.
Дополнительная информация.