Документация для разработчиков

CaptchaGetCode

CMain::CaptchaGetCode(
) 

Метод создает объект типа CCaptcha, и возвращает сгенерированный код. Нестатический метод.

Параметры

Без параметров

Примеры использования

$code=$APPLICATION->CaptchaGetCode();

Код затем передается в HTML для создания картинки. Картинка создается с помощью скрипта /bitrix/tools/captcha.php.

<input type="hidden" name="captcha_sid" value="<?=$code;?>" />
<img src="/bitrix/tools/captcha.php?captcha_sid=<?=$code;?>" alt="CAPTCHA" />

При обращении к скрипту генерируется картинка, а также добавляется запись в базу данных. При обработке формы вызывается метод CaptchaCheckCode:

if (!$APPLICATION->CaptchaCheckCode($_POST["captcha_word"], $_POST["captcha_sid"]))
{
   echo 'wrong captcha code';
}

Чтобы изменить CAPTCHA под ваш сайт можно обращаться к классу CCaptcha напрямую при генерации кода, и картинки. Для этого:

include_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/classes/general/captcha.php");
$cpt = new CCaptcha();
$cpt->SetCodeLength(6);  //устанавливаем длину кода на картинке
$cpt->SetCode();
$code=$cpt->GetSID();

Изменяем ссылку в HTML:

<input type="hidden" name="captcha_sid" value="<?=$code;?>" />
<img src="[b]/bitrix/tools/captcha2.php[/b]?captcha_sid=<?=$code;?>" alt="CAPTCHA" />

Создаем вышеуказанный captcha2.php и копируем в него содержимое captcha.php.

Изменяем отображение картинки:

$cpt = new CCaptcha();
$cpt->SetImageSize(90,30); //размер картинки на выходе
//отключил фон из кружочков, и линии поверх изображения
$cpt->SetEllipsesNumber(0); 
$cpt->SetLinesNumber(0);
//установил волну
$cpt->SetWaveTransformation(true);
//переопределил вывод текста
//углы разворота оставил по умолчанию, начальную позицию, дистанции и размер шрифта поменял
$cpt->SetTextWriting($cpt->angleFrom, $cpt->angleTo, 5, 10, 16, 18);


© «Битрикс», 2001-2019, «1С-Битрикс», 2019
Наверх