Cotonti сайт своими руками / Расширения / Безопасность

Captcha - плагин Cotonti

05.03.2019 251

Здравствуйте, уважаемые читатели сайта cmscot.net. Captcha - это плагин под Cotonti, который генерирует произвольную комбинацию букв и цифр, и создаёт из неё изображение с защитным кодом (капча). Рядом выводится проверочное текстовое поле для ввода ответа. Делается это для защиты форм от спама, например злоупотребление регистрацией или комментированием, как людьми так и ботами. Помимо интегрируемой в формы капчи, есть еще дополнительная, которую можно использовать в шаблоне в любом месте для показа содержимого после правильного ответа.

Captcha - плагин под Cotonti

Особенности плагина Captcha

  • Работает на собственном классе PHP без сторонних библиотек, в том числе с отключенным JS.
  • Помимо валидации введённого значения, можно включить проверку на бота после N попыток, или при большой частоте запросов. Алгоритм выводит обязательное поле checkbox в случае подозрительной активности, без включения которого форма не отправится.
  • Легкая установка и интеграция, возможность подключить не только к формам.
  • Интегрированная в форму капча и кастомная в шаблоне могут одновременно работать на одной странице.
  • Изображение с одноразовым кодом генерируется налету в браузере из заданных в настройках параметров, поэтому для работы капчи не требуется никаких фонов, rgb генерирует каждый раз новый цвет.
  • Текст накладывается с использованием бесплатных ttf шрифтов, которые используются рандомно.
  • Настраивается задержка против хаммеринга, максимальное число попыток в секунду.
  • В настройках плагина можно выбрать набор символов из которых будет генерироваться комбинация, на данный момент поддерживаются латинские буквы, как большие, так и маленькие, и цифры.
  • Также в настройках можно указать ширину и высоту генерируемого изображения капчи, количество символов, для которых можно включить смещение +- , например указав 5 и включив смещение, каждый раз будет создаваться случайная капча с количеством символов от 4 до 6.
  • Можно включить наложение защитных линий, и даже указать их количество, если стандартный алгоритм чем-то не устроит. При чем отдельно настраивается количество линий под символами, и количество линий поверх символов.
  • Если включить наложение фильтров, то на создаваемое изображение помимо вышеописанных обработок будет накладываться цветовой фильтр в произвольном порядке.
  • Можно указать максимальный угол наклона символа и отступа между ними.

Капча на странице

Установка плагина Captcha

  • Скачать архив, распаковать. Переименовать папку с плагином в captcha и заливать в корневой каталог для плагинов (по умолчанию /plugins/). 
  • Перейти в « Управление сайтом / Расширения / Капча » и установить.
  • Выставить настройки по желанию.
  • Добавить код в шаблон.

 В Cotonti интеграция обычно происходит в двух местах:

  • Форма регистрации пользователя
  • Форма добавления комментариев для гостей

Интеграция Captcha в CMS Cotonti

Чтобы вывести капчу при регистрации пользователя:

открыть файл users.register.tpl и перед:

<tr>
	<td colspan="2" class="valid">
		<button type="submit">{PHP.L.Submit}</button>
	</td>
</tr>

добавить:

<!-- IF {PHP.cfg.captchamain|cot_plugin_active('captcha')} -->
	<tr>
		<td colspan="2">{USERS_REGISTER_CAPTCHA}</td>
	</tr>
<!-- ENDIF -->

Чтобы вывести капчу для формы комментариев:

открыть файл comments.tpl и в блоке <!-- BEGIN: COMMENTS_NEWCOMMENT --> перед:

<div class="margin10 textcenter">
	<button type="submit">{PHP.L.Submit}</button>
</div>

добавить:

<!-- IF {PHP.usr.id} == 0 AND {PHP.cfg.captchamain|cot_plugin_active('captcha')} -->
	<div>{COMMENTS_FORM_CAPTCHA}</div>
<!-- ENDIF -->

Чтобы вывести форму капчи в любом месте шаблона:

<!-- IF {PHP.cfg.captchamain|cot_plugin_active('captcha')} -->
    {PHP|captcha_generate_custom}
    <!-- IF {PHP.ccaptcha_verifyed} -->
        <h1>КАПЧА РАЗГАДАНА !</h1>
    <!-- ENDIF -->
<!-- ENDIF -->

Этот вариант выведет в нужном месте форму капчи, а содержимое которое нужно скрыть до разгадывания, нужно добавить между  <!-- IF {PHP.ccaptcha_verifyed} --> скрытое содержимое <!-- ENDIF -->, после того как капча будет угадана, содержимое покажется (до перезагрузки страницы).

Настройки плагина Captcha

Задержка против хаммеринга: время в секундах
Макс. число попыток до появления проверки на бота: сколько попыток подряд допустимо до проверки на бота, после проверки количество обнуляется и отсчет идет снова, или 0 для снятия ограничения
Ограничить число попыток в секунду: если чаще чем раз в секунду, выводится проверка на бота, или 0 для снятия ограничения

ПАРАМЕТРЫ ДЛЯ ГЕНЕРАЦИИ ТЕКСТА КАПЧИ

Количество символов: сколько символов будет содержать фраза для отгадывания
Изменять на 1 случайным образом количество символов: включает произвольное изменение количества символов фразы +- 1
Символы для случайной генерации: из каких символов генерировать, доступны большие и маленькие буквы латинского алфавита и цифры
Максимальный угол наклона символов: указание максимального угла наклона для каждого символа
Максимальный отступ (разброс) символов: указание максимального отступа (разброса) каждого символа

ПАРАМЕТРЫ ИЗОБРАЖЕНИЯ КАПЧИ

Ширина изображения: ширина изображения
Высота изображения: высота изображения
Включить эффект наложения линий над и под текстом: эффект наложения линий на изображение
Количество линий над текстом: сколько линий будет поверх текста ( 0 - стандартный алгоритм )
Количество линий под текстом: сколько линий будет под текстом ( 0 - стандартный алгоритм )
Включить наложение эффекта цветовых фильтров включает наложение одного из цветовых фильтров в случайном порядке

* Правки лучше делать не в tpl файлах плагинов, а создавать их копию в папке шаблона (темы).

Безопасность: «Captcha - плагин Cotonti»

Если вам была полезна эта информация, будьте добры, поделитесь ею в социальных сетях. Это послужит дополнительным мотиватором, стимулом к дальнейшим публикациям на cmscot.net статей на интересующие вас темы.
Cmscot

Близкие по теме «Captcha - плагин Cotonti»

Нет записей