Найти в Дзене
bxstudio.ru

Использование и настройка CAPTCHA в 1C-Bitrix

Использовать капчу в формах довольно просто, достаточно отметить галочкой нужный пункт. Если необходима защита кодом для нестандартного функционала, можно так же воспользоваться встроенными методами из Битрикса. Подключаем библиотеку /bitrix/modules/main/classes/general/captcha.php и формируем картинку: <? include_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/classes/general/captcha.php"); $cpt = new CCaptcha(); $cpt->SetCodeLength(3); $cpt->SetCode(); $code=$cpt->GetSID(); ?> Выводим сформированную картинку, поле для ввода ответа, а так же скрытое поле с captcha_sid: <input type="hidden" name="captcha_sid" value="<?=$code;?>" /> <img src="/bitrix/tools/captcha.php?captcha_sid=<?=$code;?>" alt="CAPTCHA" /> Введите текст <input name="captcha_word" type="text" value="" /> Проверяем капчу: <?php $captcha_word = $DB->ForSql($_POST["captcha_word"]); $captcha_sid = $DB->ForSql($_POST["captcha_sid"]); if ($APPLICATION->CaptchaCheckCode($captcha_word, $captcha_sid)) { /* Выполняем код,

Использовать капчу в формах довольно просто, достаточно отметить галочкой нужный пункт. Если необходима защита кодом для нестандартного функционала, можно так же воспользоваться встроенными методами из Битрикса.

Подключаем библиотеку /bitrix/modules/main/classes/general/captcha.php и формируем картинку:

<?
include_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/classes/general/captcha.php");
$cpt = new CCaptcha();
$cpt->SetCodeLength(3);
$cpt->SetCode();
$code=$cpt->GetSID();
?>

Выводим сформированную картинку, поле для ввода ответа, а так же скрытое поле с captcha_sid:

<input type="hidden" name="captcha_sid" value="<?=$code;?>" />
<img src="/bitrix/tools/captcha.php?captcha_sid=<?=$code;?>" alt="CAPTCHA" />
Введите текст
<input name="captcha_word" type="text" value="" />

Проверяем капчу:

<?php
$captcha_word = $DB->ForSql($_POST["captcha_word"]);
$captcha_sid = $DB->ForSql($_POST["captcha_sid"]);
if ($APPLICATION->CaptchaCheckCode($captcha_word, $captcha_sid)) {
/* Выполняем код, если капча верна */
} else {
echo 'Неверный код!';
}
?>
-2