Заметки об Amiro.CMS

Делаем свою капчу или о том, как использовать капчу в плагине

09.06.11 16:18

Возникла потребность подключить проверку капчи в своем плагине для Amiro.CMS. В поисках решения, было найдено два варианта вывода капчи на странице с плагином, об одном из них поговорим в этой заметке.

И так вкратце об обоих вариантах:

Первый вариант, это использовать капчу, которая рисуется скриптом входящим в стандартную комплектацию show_numimage.php. У этого решения есть очевидный плюс — это единые настройки формирования кода и отображения капчи в админке Amiro.CMS. Но могут возникнуть проблемы с проверкой кода. Но выход есть, об этом в другой раз.

Второй вариант, это написать свой скрипт (назовем его custom_captcha.php), в котором через вызов API движка будет рисоваться капча, и тут мы вольны делать все, что пожелаем.

Теперь к самому примеру:

include_once('ami_env.php');

$oCaptcha = new AMI_CaptchaImage();
$oCaptcha->setNumSymbols('6');
$oCaptcha->isGDLibInstalled();
$oCaptcha->createImage('jpg','123321');
$oCaptcha->outToStream();

Этот простой пример нарисует нам картинку в формате JPG, на которой будет отображено 6 символов 123321.

Проверка кода

Естественно только нарисовать и вывести капчу — этого мало, надо проверять код в плагине. Думается, с этим проблем не будет, проверяете данные, переданные из формы и сравниваете с тем, что были нарисованы на капче. Тут уж кто на что способен так и делает проверку. О них, возможно, в другой раз)))

Немного пояснений:

// Основная функция класса «AMI_CaptchaImage».

public createImage ( [ string $imageType = '' ], [ string $imageString = '' ] ) возвращает объект Image;

string $imageType опционально, тип изображения, варианты в текущей версии: 'png', 'gif', 'jpg', 'wbmp'

string $imageString опционально, набор символов, которые должны быть нарисованы на капче, если не указано, будет нарисован набор из случайных символов.

* * *

// Устанавливает количество символов на картинке

public setNumSymbols ( [ int $numSymbols = 4 ] ) returns void;

int $numSymbols числовое, количество символов

* * *

// Выводит текущее изображение

public outToStream ( ) returns bool; 


p.s. Отдельная благодарность службе поддержки Amiro.CMS, которая помогла разобраться с этим вариантом и предложило рабочий код.



Рубрики: Amiro.CMS 5.12.0.4 Подсказали Инструкция


« Получение тегов для элемента новостей  | В начало |  Вывод маленького изображения фотоальбома в спецблоке "Анонс фотоальбома" »



При перепечатке, копировании материалов с сайта прямая и активная ссылка, разрешенная для индексации поисковыми роботами, на источник www.amirocmspro.ru обязательна!

Поиск по сайту

Loading

Облако тегов

5.10.x 5.12.0.4 5.14.x.x 6.0.x AMI AMI::getOption Amiro.CMS AMI_Registry AMI_RequestHTTP API CSS DBD MySQL DB_Query ErrorDocument getPluginOption HTML https INSERT jQuery modId mod_rewrite MySQL Perl PHP PHPкодим pluginId sm_tree.tpl SSL subs_send_single Tools



Купить Amiro CMS

Хотите купить платную редакцию Amiro.CMS? Напишите нам!




Почему коммерческие CMSПочему Amiro.CMSПоискПартнеры и друзьяКарта сайта
2010-2014 © AmiroCMSPro.ru | Amiro.CMS глазами администратора системы. - проект nsk21.ru
Лучший хостинг для сайтов на Амиро.CMS». Учебе время - потехе час!
Работает на Amiro CMS - Free