Подключение CAPTCHA
После настройки основных параметров необходимо подключить CAPTCHA. Существует несколько вариантов подключения:
В настройках
модуля
В ряде модулей (Главный, Блоги, Wiki и других) CAPTCHA подключается прямо в настройках модуля. Например, опция Использовать CAPTCHA при регистрации в настройках Главного модуля позволяет включить использование CAPTCHA при регистрации новых пользователей:

В параметрах
компонента
CAPTCHA возможно подключить и для отдельных компонентов Обычно настройки CAPTCHA в параметрах компонента используются для неавторизированных пользователей. , например, Добавление элементов инфоблока (комплексный компонент), Каталог (комплексный компонент) и других. Рассмотрим пример использования CAPTCHA в компоненте Форма обратной связи, где опция Использовать защиту от автоматических сообщений (CAPTCHA) для неавторизованных пользователей позволяет включить CAPTCHA только для данного компонента:

Настройка показа
в форме авторизации
Использование CAPTCHA в форме авторизации ограничивается в настройках группы пользователей (Настройки > Пользователи > Группы пользователей, форма редактирования выбранной группы, вкладка Безопасность). Опция Количество попыток ввода пароля до показа CAPTCHA позволяет отключить CAPTCHA или задать количество неправильных попыток ввода пароля, после которых в форме авторизации выводится CAPTCHA для пользователя из соответствующей группы:

- При установке значения 0 или галочки Не переопределять (т.е. 0 по умолчанию) CAPTCHA в форме авторизации не выводится, т.е. отключена;
- При установке значения, отличного от нуля, CAPTCHA включена и выводится для пользователя после указанного числа неудачных попыток ввода пароля.
Это происходит потому, что при последовательном неправильном наборе пары логин/пароль и при малом значении в поле Количество попыток ввода пароля до показа CAPTCHA) система ждёт ввода верного кода CAPTCHA. А пользователь этого не делает, так как шаблон не предусматривает вывод CAPTCHA.
В своих скриптах, модулях
или компонентах
Для начала создайте саму CAPTCHA :
01 <?include_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/classes/general/captcha.php");
02 $cpt = new CCaptcha();
03 $captchaPass = COption::GetOptionString("main", "captcha_password", "");
04 if(strlen($captchaPass) <= 0)
05 {
06 $captchaPass = randString(10);
07 COption::SetOptionString("main", "captcha_password", $captchaPass);
08 }
09 $cpt->SetCodeCrypt($captchaPass);
10 ?>
После этого выводите в нужном месте формы три элемента: скрытое поле со сгенерированным кодом, поле для ввода капчи пользователем и саму картинку.
<input name="captcha_code" value="<?=htmlspecialchars($cpt->GetCodeCrypt());?>" type="hidden"> <input id="captcha_word" name="captcha_word" type="text"> <img src="/bitrix/tools/captcha.php?captcha_code=<?=htmlspecialchars($cpt->GetCodeCrypt());?>">
В скрипте, при выполнении которого отправляется форма, добавьте проверку:
01 <?
02 if(!$APPLICATION->CaptchaCheckCode($_POST["captcha_word"], $_POST["captcha_code"]))
03 {
04 // Неправильное значение
05 }
06 else
07 {
08 // Правильное значение
09 }
10 ?>
Документация по теме
и Ваше мнение важно для нас