В данной заметке рассматривается решение задачи о добавлении капчи в стандартную форму регистрации на сайте, сделанном на Битриксе. Вроде бы это стандартная задача, которая решается стандартными средствами, но иногда с этим возникают проблемы. Впрочем, как будет видно из изложенного ниже, всё достаточно просто.
Данная задача решается в три этапа:
- Включение капчи в настройках главного модуля
- Настройка внешнего вида капчи (Опционально)
- Проверка и установка прав на чтение у папки /bitrix/tools/
Шаг 1. Включение капчи в настройках главного модуля
Для включения механизма капчи, следует отправиться в настройки (В админке шестеренка наверху). Перейти в настройки главного модуля, на вкладку «Авторизация».
Далее, в подразделе «Регистрация новых пользователей» отметить галкой «Использовать CAPTCHA при регистрации»:
Шаг 2. Стилизация капчи средствами Битрикс (Опциональный пункт).
Данный пункт необязателен, но упомянуть его стоит, т.к. вполне возможно, что потребуется привести капчу к внешнему виду сайта. Здесь также нет ничего сложного: Следует перейти в «Настройки» > «Настройки продукта» > «CAPTCHA», и на открывшейся вкладке можно «поиграться» с настройками:
Шаг 3. Проверка и установка прав на чтение у папки /bitrix/tools/
Теперь время перейти к последнему шагу — настройке прав на папку /bitrix/tools/. Существует известная проблема, при которой капчу на форме видит только залогиненный пользователь с правами администратора. Связано это с тем, что у других пользователей, в том числе и незарегистрированных, не хватает прав на просмотр «капчи». Это исправляется установкой прав на чтение для папки /bitrix/tools/ в админке битрикса (не через ftp). Для этого нужно отправиться в данную папку через админку, перейти на вкладку «Свойства папки» (бывает, что эту вкладку можно найти через кнопку «Дополнительно») и установить права «Чтение» для всех пользователей:
После этого вы увидите свою капчу на форме регистрации даже неавторизованным пользователем.
Известные проблемы
Однако, не всё так радужно. В ряде случаев капча не решает проблему спамных регистраций (А прибегают к размещению капчи, как правило, в таких случаях). Это связано, прежде всего, с тем, что боты год от года становятся умнее и могут обходить стандартные способы защиты.
Есть несколько возможных вариантов защитить свой сайт на битриксе от спамных регистраций:
- ReCaptcha от Google
- Скрытые поля и проверка на его заполнение
- Защита по IP (Достаточно сомнительный вариант)
- Проверка на стоп-слова
- Авторизация только через соц. сети (Тоже достаточно сомнительный совет, но в ряде случаев сведет проблему спама практически на нет).
На этом, в принципе, вопрос о добавлении капчи на форму регистрации можно закрывать. Добавить-то её легко, но вот поможет ли она от спамных регистраций — это вопрос.