EXT: freeCap CAPTCHA

Содержание

Авторские права	2

Заимствования	2

Введение	3

Предназначение	3

Требования	3

Поддержка	3

Руководство пользователей	4

Установка расширения	4

Вставка CAPTCHA в шаблон HTML	4

Вызов методов CAPTCHA	4

Включение и реализация класса	4

Включение маркеров подраздела CAPTCHA	4

Проверка соответствия введенной строки, строке CAPTCHA	4

Настройка	5

Константы TypoScript	5

Создание GD шрифтов	6

Список изменений	7

Авторские права

Ключ расширения: sr_freecap

Авторские права 2005-2009, Stanislas Rolland, <typo3(arobas)sjbr.ca>

Этот документ публикуется в соответствии с Open Content License

доступной на http://www.opencontent.org/opl.shtml

Содержимое этого документа относится к TYPO3

- GNU/GPL CMS/Framework доступной на www.typo3.com

Заимствования

Открытый скрипт freeCap и GD fontMaker автора Howard Yeend.

Это расширение включает сценарий, созданный Andreas Gohr.

Это расширение включает сценарий, заимствованный из расширения Salutation Switcher (salutationswitcher), создан­ного Oliver Klee.

Благодарности Thomas Schlüter за включение TYPO3 API для обработки данных сессии.

Введение

Предназначение

Расширение freeCap CAPTCHA (ключ расширения: sr_freecap) это библиотека, интегрирующая в оболочку TYPO3 сценарий с открытым кодом freeCap v1.4.1, позволяя добавлять изображения CAPTCHA в форму внешнего интер­фейса.

Цитирую автора freeCap: «Это может использоваться в качестве защиты от спама в комментариях, гостевой книге, автоподписи или любой другой части Вашего web сайта, которая может служить целью для спама.»

Расширение имеет возможность воспроизведения звука для дублирования доступного CAPTCHA. Реализовано на основе идеи Philip Almeida и сценария объединения wav файлов Andreas Gohr.

В расширение включен модуль внутреннего интерфейса для создания файлов GD шрифта, используемых для созда­ния изображений CAPTCHA. Он создан на основе GD fontMaker v1 от автора freeCap.

Получить допол­нительную информацию о CAPTCHA можно здесь http://en.wikipedia.org/wiki/Captcha.

Требования

Последняя версия расширения freeCap CAPTCHA (ключ расширения: sr_freecap) требует TYPO3 4.0 и PHP 5.

Версия 0.2.3 — последняя, работающая с TYPO3 3.7.1-3.8.2.

Аудио обработка требует компиляции PHP с модулем mcrypt.

Расширение требует сборки PHP с gd. Используемая в TYPO3 Gdlib должна быть правильно настроена в инструмен­те установки TYPO3.

Модуль изготовления GD шрифта требует Gdlib 2. Он не появится в меню внутреннего интерфейса, если не будет до­ступна Gdlib 2.

Поддержка

Сообщайте о проблемах на TYPO3 Forge: http://forge.typo3.org/projects/show/extension-sr_freecap

Руководство пользователей

Расширение freeCap CAPTCHA (ключ расширения: sr_freecap) – это библиотека для других расширений.

Установка расширения

Установите расширение через Менеджер расширений.

Некоторые значения по умолчанию настраиваются через редактор констант шаблона TSr. Смотрите в разделе на­стройки.

Вставка CAPTCHA в шаблон HTML

Вставьте в свой HTML шаблон раздел, маркированную подобным образом:

<!--###CAPTCHA_INSERT### this subpart is removed if CAPTCHA is not enabled! -->

<div class="tx-your-extension-id-pi1-captcha">

<label for="tx_your_extension_id_pi1_captcha_response">###SR_FREECAP_NOTICE###</label>

###SR_FREECAP_CANT_READ###

<br />

<input type="text" size="15" id="tx_your_extension_id_pi1_captcha_response" name="tx_your_extension_id_pi1_pi1[captcha_response]" title="###SR_FREECAP_NOTICE###" value="">

###SR_FREECAP_IMAGE###

###SR_FREECAP_ACCESSIBLE###

</div>

<!--###CAPTCHA_INSERT###-->

Вызов методов CAPTCHA

Включение и реализация класса

Класс tx_srfreecap_pi2 может использоваться в любых расширениях Typo3 во внешнем интерфейсе.

Вставьте следующие операторы для включения и создания экземпляра класса в вашем скрипте:

if (t3lib_extMgm::isLoaded('sr_freecap') ) {

require_once(t3lib_extMgm::extPath('sr_freecap').'pi2/class.tx_srfreecap_pi2.php');

$this->freeCap = t3lib_div::makeInstance('tx_srfreecap_pi2');

}

Включение маркеров подраздела CAPTCHA

Вставьте следующие операторы для включения маркеров подраздела CAPTCHA:

if (is_object($this->freeCap)) {

$markerArray = array_merge($markerArray, $this->freeCap->makeCaptcha());

} else {

$subpartArray['###CAPTCHA_INSERT###'] = '';

}

Метод makeCaptcha() возвращает массив маркеров со значениями для маркеров: ###SR_FREECAP_NOTICE###, ###SR_FREECAP_CANT_READ###, ###SR_FREECAP_IMAGE### and ###SR_FREECAP_ACCESSIBLE###.

Проверка соответствия введенной строки, строке CAPTCHA

Вставьте следующие операторы для проверки соответствия введенной пользователем строки, строке CAPTCHA:

if (is_object($this->freeCap) && !$this->freeCap->checkWord($your-form-data['captcha_response'])) {

do-something about-it

}

Метод checkWord($строка) возвращает истину, если была введена правильная строка.

Настройка

Константы TypoScript

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

Свойство:	Тип данных:	Описание:	По умолчанию:
imageHeight	целое+	Высота изображения CAPTCHA: высота генерируемого изображения в пик­селях. Примечание: Перед изменением, прочтите раздел “Создание GD шрифтов”.	90
maxWordLength	целое+	Максимальная длина слова: максимальная длина строки CAPTCHA при случайной генерации.	5
textColor	булева переменная	Цвет текста Возможные значения: 0 = один случайный цвет для всех символов 1 = разные случайные цвета символов	1
fontFiles	список строк	Список файлов GD шрифтов: список GD файлов шрифтов через запятую, расположенных в директории uploads/tx_srfreecap/ или в директории какого-либо расширения, применяя специальный синтаксис EXT:extensionKey/и т.д. Примечание: используются другие файлы по умолчанию, если включено свойство generateNumbers: EXT:sr_freecap/res/fonts/.anonymous.gdf Примечание: по умолчанию поддерживаются лишь строчные символы ASCII. Нужно определить: EXT:sr_freecap/res/fonts/.ht_freecap_extended_font1.gdf, EXT:sr_freecap/res/fonts/.ht_freecap_extended_font2.gdf, EXT:sr_freecap/res/fonts/.ht_freecap_extended_font3.gdf, EXT:sr_freecap/res/fonts/.ht_freecap_extended_font4.gdf Эти шрифты поддерживают дополненные ANSI ASCII строчными символами (a-z, ß-ÿ). Они должны использоваться, если используемый список слов содержит не ASCII символы. Помните, что GD поддерживает лишь набор символов Latin1 и Latin2. Примечание: идущие с расширением файлы были созданы для использования на компьютерах с прямым порядком байтов. Если компьютер с усановленной TYPO3 имеет архитектуру с обратным порядком байтов, нужно создавать свои файлы GD шрифтов. Примечание: для создания этих файлов можно использовать модуль Создания GD шрифтов.	EXT:sr_freecap/res/fonts/.ht_freecap_font1.gdf, EXT:sr_freecap/res/fonts/.ht_freecap_font2.gdf, EXT:sr_freecap/res/fonts/.ht_freecap_font3.gdf, EXT:sr_freecap/res/fonts/.ht_freecap_font4.gdf, EXT:sr_freecap/res/fonts/.ht_freecap_font5.gdf
imageFormat	строка	Формат изображения CAPTCHA: формат производимых изображений. Возможные значения: png, gif, jpg Примечание: jpg не поддерживает прозрачность.	png
useWordsList	булева переменная	Используемый список слов: если включено, строка CAPTCHA будет выбираться из списка слов. Иначе будет случайно герерироваться. Примечание: смотрите примечание в свойстве fontFiles.	1
generateNumbers	булева переменная	Генерация CAPTCHA только из цифр. Это свойство игнорируется, если включено свойство useWordsList. Примечание: если установлено это свойство, нужно удостовериться, что файл шрифта может генерировать цифры.	0
defaultWordsList	Файл ресур­сов	Список слов для языка по умолчанию: все списки слов должны находиться в одной директории. Примечание: все списки слов должны находиться в той же директории, что и файл по умолчанию. Примечание: название файла должно заканчиваться на .ht_default_freecap_words Примечание: создавая файл для другого языка, давайте ему то же название, заменяя “default” на код языка в TYPO3 (и перешлите его автору этого расширения!).	EXT:sr_freecap/res/words/.ht_default_freecap_words
maxAttempts	целое+	Максимум попыток: максимальное количество попыток обновления изображения.	100
backgroundType	строка	Тип фона. Возможные значения: Transparent White with grid White with squiggles Morphed image blocks	White with squiggles
backgroundBlur	булева переменная	Размытие фона: если включено, фон будет размыт. Строка будет легче читаться.	1
backgroundMorh	булева переменная	Background morphing: If enabled, the background will be morphed (recommended).	1
morphFactor	десятичное	Коэффициент трансформации текста: применяется к каждому символу в строке CAPTCHA. Примечание: например, может быть .8 или 1.1 Примечание: значение больше 1 сделает текст сложным для восприятия	1
salutation	строка	Если установлено, либо "formal", либо "informal". Примечание: это свойство изменяет режим приветствия на отображаемых во внешнем интерфейсе метках, при условии, что они что-либо значат на отображаемом языке, и если переводчики сделали неформальную версию.	
accessibleOutput	булева переменная	Включения аудио сопровождения для доступного CAPTCHA: если включена, будет доступно звуковое сопровождение. Примечание: свойство будет просто проигнорировано, если PHP не содержит модуля mcrypt.	0
siteTag	булева переменная	Если включено, “site tag” добавляется к фоновому изображению CAPTCHA. Это возможность избежать обмана CAPTCHA. За дополнительной информацией обратитесь к www.wikipedia.com/captcha. Примечание: site tag можно дополнить несколькими линиями, используя вертикальную черту “|” в качестве разделителя. Примечание: site tag может быть локализован различными способами в настройке шаблона TS через plugin.tx_srfreecap_pi1._LOCAL_LANG структуру локализации метки “site_tag”.	0
siteTagDomain	строка	Название домена в качестве site tag по умолчанию.	www.mydomain.org
siteTagPosition	целое	Позиция site tag относительно изображения CAPTCHA. Возможные значения: 0 = site tag вставлен сверху изображения CAPTCHA 1 = site tag вставлен снизу изображения CAPTCHA 2 = site tag вставлен как сверху, так и снизу изображения CAPTCHA	1

Создание GD шрифтов

Сценарии внешнего интерфейса используют файлы GD шрифтов. GD шрифты плохо масштабируются. Поэтому, при желании изменить высоту изображения CAPTCHA, обычно нужно создать другие файлы GD шрифта, вместо поставляемых вместе с расширением.

Модуль внутреннего интерфейса Изготовитель GD шрифта автоматически устанавливается вместе с расширением и доступен для администраторов.

Модуль позволяет создавать файл GD fшрифта из файла ttf шрифта (Шрифт True Type).

Помните, что по умолчанию файлы шрифта создаются с шириной символов 34 и их высотой 50.

Также помните, что список слов может содержать слова с диакретическими и другими зависящими от языка знаками. GD поддерживает лишь наборы символов Latin1 и Latin2. Возможно Вам понадобиться создать свои GD из True Type шрифтов, содержащих такие символы. С расширением поставляется несколько файлов шрифтов, поддерживающих все, расширенные ANSI ASCII прописные символы (a-z, ß-ÿ). Смотрите свойство fontFiles в разделе Константы TypoScript.

Помните, что структура файла GD шрифта зависима от архитектуры компьютера. Нужно создавать файлы GD шрифта на компьютере с архитектурой, подобной тому, на котором установлена TYPO3. По умолчанию, файлы шрифтов создавались на компьютере с прямым порядком байтов.

Файлы шрифтов, создаваемые модулем, помещаются в директорию uploads/tx_srfreecap/.

Список изменений

Версия:	Изменения:
0.1.0	Initial version.
0.2.0	Incorporate salutation switching.
0.2.2	Correct syntax error in class.tx_srfreecap_pi1.php. Add Brazilian and Danish translations.
0.2.3	Add German translation.
0.3.0	Path setting correction for TYPO3 4.0. Update to freeCap 1.4.1. Correction to behavior when multiple domains are configured.
0.3.1	Correction for XHML compliance.
0.3.2	Typographical correction to backgroundMorph constant and setup property in ext_typoscript_constants.txt and ext_typoscript_setup.txt. Thanks to Steffen Gebert.
0.3.3	Add Dutch and Finnish translations. Convert locallang files to xml format.
0.4.0	Add GD Font Maker module.
0.4.1	Localization of GD Font Maker module and French translation.
0.4.2	Remove references to $HTTP_*_VARS in pi1/captcha.php.
0.4.3	Small correction to ensure successful validation by the W3C CSS-Validator. Thanks to Stephan Bauer.
0.4.4	Bugfix: added TYPO3_OS to captcha.php, for usage with windows. Thanks to Franz Ripfel
0.4.5	Added german wordlist. Thanks to Markus Haselböck and Franz Ripfel
0.4.6	Removed some bad words from german wordlist. Thanks to Lars Quitsch
1.0.0	Added missing file inclusion for the GD font maker in some configurations. Thanks to Martin Schmid and Urs Weiss. Fixed error arising in GD font maker when $TYPO3_CONF_VARS['GFX']['gdlib_png'] is set to 0. Fixed bugtracker issue 3825 preventing tt_news and sr_freecap from working together. Specify that GD is required. Thanks to Michael Stein for reporting the issue. Hide GD Font Maker from the BE menu if Gdlib 2 is not configured in the TYPO3 installation. Enable the use of multiple instances of the plugin on the same page. Thanks to Matthias Krappitz. Correction for XHTML compliance. Thanks to Henning Pingel. Added frontend Italian translation. Thanks to Alessandro Tuveri. Added frontend Spanish translation. Thanks to Roman Buechler. Added French word list. Thanks to Julien Pham. Portuguese translation. Thanks to Philip Almeida. Added accessible audio output feature with voices in English, French, German, Italian, Portuguese and Spanish. HTML template needs to be updated with new marker ###SR_FREECAP_ACCESSIBLE###. Added new TypoScript constants: accessibleOutput, generateNumbers. Restructured resource files in res subdirectory.
1.0.1	If PHP is not compiled with mcrypt, accessibleOutput property is silently ignored.
1.0.2	Fixed bugtracker issue #7117: sr_freecap won't work with th_mailformplus Remove some blank spaces from the French word list. Use Unix linebreaks in all word lists. Cut off any linebreaks from words retrieved from word lists.
1.0.3	Manual update.
1.0.4	Security update. Please update and check security bulletin: TYPO3-20080924-2 for details.
1.1.0	Using TYPO3 API for session data handling. Thanks to Thomas Schlüter. Fixed bugtracker issue #8993: Incorrect path returned if custom gdf files are used. Thanks to Stephan Kellermayr. Added a configurable “site tag” feature. Font files may be located in some extension directory using the usual syntax EXT:extensionKey/ etc. Additional font files are included for support of Latin1 and Latin2 small letters in word lists.
1.1.1	Cleanup: Use UNIX line separators in all files Fix for current TYPO3 trunk (4.3-dev) caching Fixed bug #10132: sr_freecap seems to work only with default language. Thanks to Dan Grünzig. Added Polish translation. Thanks to Daniel Ciunkiewicz. Correction to the manual. Thanks to Niklas Kanthak. Remove superfluous spaces in rendered html. Thanks to Niklas Kanthak. ###SR_FREECAP_ACCESSIBLE### marker should produce inline html. Audio object wrapper changed from div to span. Thanks to Niklas Kanthak. Updated manual: random background type does not exist anymore with freecap 1.4.1. Added missing images for Morphed image blocks option of backgroundType.
1.1.2	Removed some words from the default word list. Added partial Russian translation. Thanks to Esben Fest.

EXT: freeCap CAPTCHA - 8

EXT: freeCap CAPTCHA

Stanislas Rolland

2008-01-08T21:34:16