Как настроить капчу на 1С-Битрикс: формы, Яндекс SmartCaptcha и защита от спама

Как настроить капчу на 1С-Битрикс: формы, Яндекс SmartCaptcha и защита от спама

Утром в почте снова десятки заявок "buy cheap" с формы, которую вчера уже "защитили" картинкой – типичная боль владельца сайта на 1С-Битрикс: Управление сайтом (это не CRM-формы портала Bitrix24). Типичная ошибка – оставить только картинку без серверной проверки и ждать, что спам сам исчезнет. Ниже – рабочий маршрут: включить штатную CAPTCHA, понять когда её мало, подключить Яндекс SmartCaptcha с верными ключами и пройти чек-лист, чтобы спам ушёл, а заявка с телефона не сломалась.

Капча на CMS Битрикс – цепочка: GD/FreeType → профиль в Настройках продукта → опции модулей и компонента формы → при спаме после картинки – SmartCaptcha или reCAPTCHA. Клиентский ключ (ysc1_) идёт в виджет, серверный (ysc2_) только на бэкенд. В ограниченном режиме Yandex Cloud все проверки могут отвечать "ok" – защита фактически выключена. Форму с нуля не собираем: если ОС ещё нет, сначала гайд по форме, здесь только защита.

Речь про публичный сайт или магазин на коробочной CMS: обратная связь, регистрация, восстановление пароля, иногда оформление заказа. Если формы ещё нет – смотрите как настроить форму обратной связи на Битрикс; здесь фокус только на капче.

Маршрут: штатный путь Битрикс за 15 минут → выбор "картинка / SmartCaptcha / Google" → тест без авторизации и чек-лист результата.

Определите, когда капча реально нужна на CMS

Чеклист: когда включать капчу на формах CMS Битрикс

Включайте защиту, если боты уже пишут в заявки, создают левые учётки или долбят восстановление пароля. Не ставьте капчу "на всякий случай" на каждую кнопку: на авторизованных сценариях она чаще мешает людям.

  1. Отметьте источник спама за неделю: например, ОС, регистрация, заказ, комментарии.
  2. Проверьте, видит ли гость (без логина) картинку или виджет на этой форме.
  3. Отправьте тест с пустым/неверным кодом – должна быть ошибка, не письмо менеджеру.
  4. Если картинка уже есть, а спам идёт – готовьтесь к SmartCaptcha, а не к "ещё кривее шрифт".
  5. Зафиксируйте страницы для теста: десктоп, мобилка, попап/AJAX, если есть.
  6. На практике сверьте, что отказ пишется в лог/на экран, а не только "кажется, что защита есть".

Делайте: сначала закрыть самую шумную форму. Не делайте: искать инструкцию SmartCaptcha для Bitrix24 CRM – это другой продукт.

Сравните штатную CAPTCHA, SmartCaptcha и reCAPTCHA

Сравнение штатной CAPTCHA, SmartCaptcha и reCAPTCHA для Битрикс

Штатная капча – картинка с символами: PHP рисует её через GD и FreeType (простыми словами – "рисовалки" в PHP), пользователь вводит код. Яндекс SmartCaptcha – сервис в Yandex Cloud: виджет даёт токен, сервер сайта спрашивает Яндекс "человек ок?". Google reCAPTCHA делает похожее через Google.

Критерий Штатная CAPTCHA Яндекс SmartCaptcha Google reCAPTCHA
Где настраивается Админка Битрикс + компонент Yandex Cloud + модуль/код Google Console + модуль/код
Сила против ботов 2026 Слабая: картинку часто пробивают Выше: умный/невидимый режим Выше: зависит от версии и региона
Ключи Не нужны ysc1_ (клиент) / ysc2_ (сервер) site key / secret key
Кому брать Старт, низкий спам РФ-трафик, спам при картинке Международный трафик, уже живёт Google
Итоговый вердикт: Начните со штатной, если защиты ещё нет. Если картинка включена, а спам остаётся – для русскоязычного сайта обычно логичнее Яндекс SmartCaptcha. Google – запасной путь, когда команда уже умеет с ним работать.

Рекомендация: модуль Marketplace – способ подключить сервис, а не "магическая непробиваемость". Статус кабинета Яндекса проверяете вы.

Включите штатную капчу в настройках и на формах

Схема включения штатной капчи Битрикс: настройки и формы
  1. Откройте Настройки → Производительность → PHP и проверьте GD и FreeType.
  2. Зайдите в Настройки → Настройки продукта → CAPTCHA: символы, прозрачность около 40–50%, угол примерно −30…30, шрифт bitrix_captcha.ttf при наличии.
  3. В Главном модуле включите CAPTCHA для регистрации и/или восстановления пароля.
  4. В параметрах компонента ОС (часто main.feedback) включите CAPTCHA для неавторизованных; в веб-формах – опцию капчи в настройках формы.
  5. При необходимости включите показ после N неудачных паролей в группах пользователей (шаблон авторизации должен уметь это).
  6. Сбросьте кэш и откройте форму гостем в инкогнито.
Схема: GD + FreeType → профиль CAPTCHA → галки модулей → параметр компонента → тест гостем → при спаме SmartCaptcha

Делайте точечно на шумных формах. Не делайте картинку нечитаемой: люди ошибаются чаще ботов.

Самописная форма – короткий API: CaptchaGetCode, поле captcha_sid, картинка /bitrix/tools/captcha.php?captcha_sid=..., при submit – CaptchaCheckCode. Это не гайд по полям и письмам, только вставка защиты.

$captcha_sid = $APPLICATION->CaptchaGetCode();
// HTML: captcha_sid + img captcha.php + поле captcha_word
// submit: $APPLICATION->CaptchaCheckCode($word, $sid)

Подключите Яндекс SmartCaptcha: ключи и проверка

На сайте виджет выдаёт токен. Сервер отправляет токен на validate Яндекса вместе с секретным ключом и IP. Ответ "ok" – заявку принимаете, иначе отказ.

  1. В Yandex Cloud создайте капчу, укажите домены в allowed-site, дождитесь ACTIVE или TRIAL_ACTIVE – иначе ограниченный режим.
  2. Скопируйте ysc1_ (клиент) и ysc2_ (сервер). Серверный ключ не кладите в HTML, JS или публичный репозиторий.
  3. Поставьте один модуль Marketplace с заменой штатной CAPTCHA либо вручную: captcha.js, блок smart-captcha и POST на https://smartcaptcha.cloud.yandex.ru/validate.
  4. Вставьте ключи, включите модуль, при необходимости задайте маски исключений для служебных URL.
  5. Проверьте: пустой/неверный токен = отказ; валидный = заявка; токен ~5 минут и одноразовый.
  6. На AJAX/popup переинициализируйте виджет после подгрузки формы – иначе "пропала" или submit молчит.

По документации Яндекса: первые 10 тыс. успешных validate в месяц не тарифицируются; дальше – оплата за тысячи успешных запросов. Модуль и сервис оплачиваются отдельно.

Делайте: один активный модуль капчи. Не делайте: одновременно SmartCaptcha и чужой reCAPTCHA – частый конфликт на готовых шаблонах.

Разберите типовые сбои капчи на формах

Белый квадрат вместо картинки – нет GD/FreeType или битый шрифт. Сначала чините PHP.

В компоненте есть, в кастомной форме нет – забыли CaptchaGetCode / CaptchaCheckCode или captcha_sid. Без серверной проверки картинка – декорация.

SmartCaptcha "ограничена" или пропускает всех – аккаунт Cloud не ACTIVE/TRIAL_ACTIVE. В ограниченном режиме validate часто отвечает ok.

Модалка/AJAX – виджет не перерисовался: на практике часто ломается submit после подгрузки формы в попапе. Нужна поддержка AJAX у модуля или явный вызов переинициализации.

Перепутаны ключи (ysc1_ в серверный слот или ysc2_ в HTML) – сверьте префиксы по документации ключей SmartCaptcha.

Рекомендация: короткий лог "форма → тип защиты → дата теста". Не ищите баг в Битрикс, пока не проверили PHP, ключи и режим Cloud.

Пройдите чек-лист: спам ушёл, форма жива

  1. Гость видит картинку или виджет на целевой форме.
  2. Пустая/неверная капча даёт отказ, лид не создаётся.
  3. Верная проверка с десктопа и телефона шлёт одну заявку без дублей.
  4. В HTML нет серверного ключа ysc2_ / secret.
  5. Домен совпадает с allowed-site (если выбран Яндекс).
  6. За сутки–несколько дней спам падает; логин и заказ для людей не "отвалились".
  7. Письма уходят стабильно – при сбоях доставки см. настройку почты на Битрикс.

Делайте финальный прогон в инкогнито и с телефона. Не считайте победой только "виджет появился" без отказа на пустом токене. Если спам всё ещё просачивается – добавьте honeypot (скрытое поле-ловушку) как второй слой, не вместо капчи.

Что сделать дальше

  1. Проверьте GD/FreeType и включите штатную CAPTCHA на самой шумной форме.
  2. Если спам остаётся – создайте SmartCaptcha, вставьте ключи через один модуль, протестируйте AJAX.
  3. Пройдите чек-лист на десктопе и мобиле.
  4. Зафиксируйте, какие формы защищены, а какие сознательно без капчи.

Если нужно встроить защиту в нестандартный шаблон или разобрать конфликт модулей – напишите в контакты, разберём точечно на вашей CMS.

Автор: Максим Мольков, разработчик 1С-Битрикс.
Источники: документация CAPTCHA BitrixFramework, курс и user help 1С-Битрикс, Yandex SmartCaptcha quickstart, docs по ключам, validate, тарифам и ограниченному режиму, карточки модулей Marketplace и практика внедрений на CMS.

Частые вопросы

Как включить капчу на форме Битрикс?

Проверьте GD и FreeType, настройте профиль в Настройки продукта → CAPTCHA, включите опцию в компоненте формы для гостей. Откройте страницу без авторизации: картинка видна, пустой код отклоняется.

Чем штатная капча отличается от Яндекс SmartCaptcha?

Штатная – картинка внутри Битрикс. SmartCaptcha – сервис Яндекса с виджетом и проверкой токена на сервере. Если картинка есть, а спам идёт, обычно переходят на SmartCaptcha.

Почему капча не показывается на форме?

Часто нет GD/FreeType, опция выключена в компоненте, кастомный шаблон без captcha_sid/картинки; для SmartCaptcha – неверный домен, неактивный модуль или AJAX без переинициализации виджета.

Нужна ли капча на оформлении заказа?

Да, если боты создают мусорные заказы. Ставьте точечно на гостевой checkout и тестируйте живой сценарий. На шагах только для авторизованных капча часто лишняя.

Бесплатна ли SmartCaptcha и что такое ограниченный режим?

По документации Яндекса первые 10 тыс. успешных validate в месяц не тарифицируются. В ограниченном режиме (аккаунт не ACTIVE/TRIAL_ACTIVE) проверки могут всегда отвечать ok – защита не работает.

Можно ли защитить форму без капчи?

Частично: honeypot и серверная валидация полей снижают шум, но при массовом спаме этого мало. Разумная схема – капча плюс honeypot как страховка, а не вместо проверки.

Читайте также

Интеграции с 1С и API
1074 6 мин.

Как настроить регистрацию и личный кабинет покупателя на 1С-Битрикс?

Пошаговая настройка регистрации на сайте битрикс: Главный модуль, main.register, system.auth.form и sale.personal.section с историей заказов и 152-ФЗ.
Интеграции с 1С и API
941 6 мин.

Как настроить скидки и промокоды на 1С-Битрикс: правила корзины и купоны

Пошаговый гайд по скидкам в CMS-магазине: скидка на товар, правило корзины от суммы, купоны с лимитом, приоритеты без конфликтов и тестовый заказ. Не Bitrix24.
Интеграции с 1С и API
759 15 мин.

Что такое компонент в Битриксе и как он работает

Каждый разработчик, впервые столкнувшийся с Битриксом, проходит через своеобразный обряд посвящения. Вначале кажется, что это просто CMS, где можно поправить HTML в визуальном редакторе или дописать пару строк CSS. Но однажды наступает момент, когда нужно изменить логику вывода новостей, отфильтровать товары по хитрому свойству или добавить на страницу нечто совершенно новое. И тут он впервые слышит это слово — «компонент». Для многих этот момент становится стеной. Система, казавшаяся понятной, вдруг превращается в черный ящик, полный непонятных файлов и странных переменных. Но стоит лишь раз заглянуть под капот, как эта стена рассыпается, превращаясь в набор удивительно логичных и мощных строительных блоков. Понимание компонентов — это тот самый щелчок, после которого разработка на Битрикс из мучения превращается в творчество.

Эта статья — ваш проводник в мир компонентов «1С-Битрикс». Мы не будем сыпать сухими терминами из документации. Вместо этого мы совершим путешествие: от философии, заложенной в эту архитектуру, до мельчайших деталей её работы. Мы разберем компонент на атомы — его файлы, логику, шаблон, параметры — и соберем обратно, чтобы вы не просто знали, что это, но и глубоко понимали, почему это работает именно так. Это знание — ключ к эффективной и профессиональной разработке на Битрикс.

Интеграции с 1С и API
718 2 мин.

Установка Composer в 1С-Битрикс

Установка Composer в проекте на 1С-Битрикс требует учета особенностей платформы, чтобы обеспечить корректную работу и интеграцию с системой.