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-2024, «1С-Битрикс», 2024