Добавление капчи на форму регистрации в Битрикс

В данной заметке рассматривается решение задачи о добавлении капчи в стандартную форму регистрации на сайте, сделанном на Битриксе. Вроде бы это стандартная задача, которая решается стандартными средствами, но иногда с этим возникают проблемы. Впрочем, как будет видно из изложенного ниже, всё достаточно просто.

Данная задача решается в три этапа:

  1. Включение капчи в настройках главного модуля
  2. Настройка внешнего вида капчи (Опционально)
  3. Проверка и установка прав на чтение у папки /bitrix/tools/

Шаг 1. Включение капчи в настройках главного модуля

Для включения механизма капчи, следует отправиться в настройки (В админке шестеренка наверху). Перейти в настройки главного модуля, на вкладку «Авторизация».
Далее, в подразделе «Регистрация новых пользователей» отметить галкой «Использовать CAPTCHA при регистрации»:

Шаг 2. Стилизация капчи средствами Битрикс (Опциональный пункт).

Данный пункт необязателен, но упомянуть его стоит, т.к. вполне возможно, что потребуется привести капчу к внешнему виду сайта. Здесь также нет ничего сложного: Следует перейти в «Настройки» > «Настройки продукта» > «CAPTCHA», и на открывшейся вкладке можно «поиграться» с настройками:

Шаг 3. Проверка и установка прав на чтение у папки /bitrix/tools/

Теперь время перейти к последнему шагу — настройке прав на папку /bitrix/tools/. Существует известная проблема, при которой капчу на форме видит только залогиненный пользователь с правами администратора. Связано это с тем, что у других пользователей, в том числе и незарегистрированных, не хватает прав на просмотр «капчи». Это исправляется установкой прав на чтение для папки /bitrix/tools/ в админке битрикса (не через ftp). Для этого нужно отправиться в данную папку через админку, перейти на вкладку «Свойства папки» (бывает, что эту вкладку можно найти через кнопку «Дополнительно») и установить права «Чтение» для всех пользователей:

После этого вы увидите свою капчу на форме регистрации даже неавторизованным пользователем.

Известные проблемы

Однако, не всё так радужно. В ряде случаев капча не решает проблему спамных регистраций (А прибегают к размещению капчи, как правило, в таких случаях). Это связано, прежде всего, с тем, что боты год от года становятся умнее и могут обходить стандартные способы защиты.

Есть несколько возможных вариантов защитить свой сайт на битриксе от спамных регистраций:

  • ReCaptcha от Google
  • Скрытые поля и проверка на его заполнение
  • Защита по IP (Достаточно сомнительный вариант)
  • Проверка на стоп-слова
  • Авторизация только через соц. сети (Тоже достаточно сомнительный совет, но в ряде случаев сведет проблему спама практически на нет).

На этом, в принципе, вопрос о добавлении капчи на форму регистрации можно закрывать. Добавить-то её легко, но вот поможет ли она от спамных регистраций — это вопрос.