Показать сообщение отдельно
  #6  
Старый 19.10.2010, 00:02
Аватар для Handy.CMS
Handy.CMS Handy.CMS вне форума
Администратор
 
Регистрация: 25.07.2009
Сообщений: 170
Handy.CMS отключил(а) отображение уровня репутации
По умолчанию

8. Класс CAPTCHA

Добавлен класс для работы с CAPTCHA, возможности класса:
  • Использование нескольких капч на странице;
  • Подключение к любым модулям системы;
  • Задание цвета шрифта и бекграунда для капчи;
  • Задание длины и размеров капчи.
Пример использования:
PHP код:
<?
// Уникальный идентификатор необходим, для возможности использования несколько капч на странице
$uniqid md5();
// Подключаем библиотеку
$this->captcha handyCore::loadExtension('lib.captcha'); 
 
// цвет бекграунда, по-умолчанию задается случайным образом, можно задать ввиде массива (RGB) 
$this->captcha->background_rand = array(255,255,255);
// цвет шрифта, по-умолчанию задается случайным образом, можно задать ввиде массива (RGB) 
$this->captcha->foreground_rand = array (0,0,0);
// ширина, по-умолчанию 140px
$this->captcha->captcha_width 200;
// высота, по-умолчанию 60px
$this->captcha->captcha_height 70;
// длина строки (кол-во символов), по-умолчанию от 5 до 7 случайным образом.
$this->captcha->captcha_length 7;
 
// Генерируем капчу
$this->captcha->genCaptcha($uniqid);
 
// проверочная строка, которая отображается на изображении
// генерируется при использования метода genCaptcha()
$string $this->captcha->keystring;
 
// После геренации в значение строки проверки хранится в переменной сессии
if($_POST['captcha'][$uniqid] == $_SESSION['HANDY-CAPTCHA-OPT'][$uniqid]['STRING']) echo 'OK';
else echo 
'WRONG';
 
?>
Отображение капчи:
PHP код:
<img src="/?HANDY-CAPTCHA{$uniqid}"
9. Модуль "Формы"
Добавлена возможность работы с библиотекой CAPTCHA.
Однако мы рекомендуем использовать CAPTCHA тогда, когда это действительно необходимо, т.к. по статистике она снижется количество откликов с форм.
На данный момент модуль "Формы" отсекает порядка 99% спама без применения капч и усложнения работы пользователя с формами.
__________________
Команда Handy.CMS