генерация
if ($arParams["USE_CAPTCHA"] == "Y"){
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);
$arResult["CAPTCHA_CODE"] = htmlspecialchars($cpt->GetCodeCrypt());
}
вывод на странице
<img id="capcha_block" align="left" alt="Введите эти символы в поле ввода" src="/bitrix/tools/captcha.php?captcha_code=<?=$arResult["CAPTCHA_CODE"]?>" /> <input id="captcha_word" type="text" name="captcha_word" /><br />
<input id="capcha_block_hidden" type="hidden" name="captcha_code" value="Сменить картинку</button>
<script type="text/javascript">
$(function(){
$(function(){
$("#capcha_block_reload").bind("click",function(){
$.ajax({
type: "GET",
url: "?activ=new_code_get",
<?if ("new_code_get"==$_GET["activ"]){$GLOBALS['APPLICATION']->RestartBuffer(); echo md5(rand(0, 10000)); die();}?>
dataType: "text",
success: function(new_code){
$('#capcha_block').attr("src","/bitrix/tools/captcha.php?captcha_code="+new_code);
$('#capcha_block_hidden').val(new_code);
}
});
return false;
});
});
});
</script>
и проверка
include_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/classes/general/captcha.php");
$cpt = new CCaptcha();
if (strlen($_POST["captcha_code"]) > 0)
{
$captchaPass = COption::GetOptionString("main", "captcha_password", "");
if (!$cpt->CheckCodeCrypt($_POST["captcha_word"], $_POST["captcha_code"], $captchaPass)){
$arResult["ERROR"]["CAPTCHA"]="Неправильно введена капча";
$arResult["ERROR"]["CRITICAL_ERROR"]=true;
}
}
}
Комментариев нет:
Отправить комментарий