У деяких випадках, як правило, при використанні html-форм на сайті потрібно зробити капчу, робиться це для захисту від циклічної відправки форми, від спам-ботів, і не тільки. Взагалі зробити капчу нескладно, але так як в стандартному функціоналі битрикса є вбудований механізм капчі, то це справа спрощується вдвічі. Нам же залишається скористатися цим функціоналом, давайте подивимося, як можна прикрутити капчу до форми.
Перед тим як розміщувати поля капчі на формі, нам необхідно ініціалізувати генерацію коду для перевірки.
Генеруємо код капчі:

// підключаємо файл модуля капчі
include_once($_SERVER[“DOCUMENT_ROOT”].”/bitrix/modules/main/classes/general/captcha.php”);
// створюємо об’єкт капчі
$cpt = new CCaptcha();
// дістаємо значення параметра captcha_password з головного модуля
$captchaPass = COption::GetOptionString(“main”, “captcha_password”, “”);
// якщо рядок порожній, генеруємо випадкове значення
If (strlen($captchaPass) SetCodeCrypt($captchaPass);

Зверніть увагу на першу сходинку в коді, де підключається файл модуля капчі – captcha.php. Якщо раніше вже підключався пролог, то підключати даний файл не потрібно.

Розміщуємо поля на формі. Поля повинні знаходитися строго після коду зазначеного вище, оскільки використовується змінна з об’єктом класу CCaptcha, инициализированная раніше.


Перевіряємо капчу. У обробника форми для перевірки правильності введення значення капчі можна використовувати код:

if($APPLICATION->CaptchaCheckCode($_POST[“captcha_word”], $_POST[“captcha_code”])){
echo ‘Все вірно!’;
} else {
echo ‘Неправильно введений код з картинки!’;
}

На цьому ніби все. Капча може бути використана в будь-якій частині сайту, важливою умовою є попереднє включення файлу модуля. В системі бітрікс модулі завантажуються автоматично при підключенні прологу у виконуваному скрипті. Існує можливість використання модулів битрикса без підключення прологу, практикується найчастіше для обробки ajax-запитів, і не тільки, де немає необхідності в підвантаження шаблону сайту, і його складових.

Додав: htmaker, 09.11.2014 р.
(Ще не оцінили)

Завантаження…

Діліться з друзями:

См. також:


Налаштування часу у VMBitrix
Рубрика: Bitrix, Linux

Видалення «кинутих» кошиків в системі Бітрікс
Рубрика: Bitrix

Використання highload-блоків в Bitrix
Рубрика: Bitrix

Як виконати SQL запит в Bitrix
Рубрика: Bitrix

Як підрахувати кількість елементів в Bitrix?
Рубрика: Bitrix

Динамічне масштабування зображень в Bitrix
Рубрика: Bitrix

Виключаємо користувача з ID=1 групи адміністраторів в Bitrix
Рубрика: Bitrix

Як скинути пароль адміністратора у Bitrix?
Рубрика: Bitrix

SQL-запити в бітрікс
Рубрика: Bitrix

Коментарі

  • Максим пише:
    11.01.2016 в 19:02

    У формі не відображається картинка з капчею

    Відповісти

  • Марія пише:
    26.02.2016 у 04:53

    Спасибі велике, рідко зустрічається повністю робочий рішення задачі так детально прописане.
    Установка капчі зайняла 30 секунд.

    Відповісти