генерация
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; } } }
Комментариев нет:
Отправить комментарий