Captcha

В этой заметке я расскажу о том, как можно использовать стандартную битриксовую капчу в своих скриптах, модулях или компонентах.

На самом деле, ничего сложного тут нету. Для начала генерим саму капчу:

<?include_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/classes/general/captcha.php"); 
$cpt = new CCaptcha(); 
$captchaPass = COption::GetOptionString("main", "captcha_password", ""); 
if(strlen($captchaPass) <= 0) 
{ 
	$captchaPass = randString(10); 
	COption::SetOptionString("main", "captcha_password", $captchaPass); 
} 
$cpt->SetCodeCrypt($captchaPass);
?>

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




В скрипте, на который сабмитится форма, просто добавляем проверку

<?
if(!$APPLICATION->CaptchaCheckCode($_POST["captcha_word"], $_POST["captcha_code"]))
{
	// Неправильное значение
}
else
{
	// Правильное значение
}
?>

Вот и всё.

Дата: 29 ноября 2009
Теги: captcha, капча
Добавить в закладки:

Комментарии (2)

Алексей Валеев, 1 Ноября 2010

Спасибо, понадобилось - благодаря статье интегрировал максимально быстро

Николай, 10 Апреля 2011

Спасибо за заметку!