Really Simple CAPTCHA

Описание

Плагин «Really Simple CAPTCHA» не работает сам по себе, и предназначен для работы с другими плагинами. Изначально он был создан для Contact Form 7, но вы можете использовать в своих плагинах.

Примечание: Плагин действительно «really simple», название не обманывает, а значит он не обеспечивает серьезной защиты. Если она вам нужна, вам нужно попробовать другие варианты.

Как это работает?

Really Simple CAPTCHA не использует PHP сессии для хранения данных, в отличии от многих других решений, используются временные файлы. Это позволяет плагину избежать конфликтов.

Когда вы генерируете CAPTCHA, плагин «Really Simple CAPTCHA» создает два файла. Первый – это изображение для CAPTCHA, а второй – текстовый файл с правильными ответами.

Два файла имеют одинаковые (но случайные) имена, например «a7hk3ux8p.png» и «a7hk3ux8p.txt». Если респондент отвечает «K5GF» на вопрос с картинки «a7hk3ux8p.png», плагин «Really Simple CAPTCHA» высчитывает хеш для «K5GF» и сверяет его с эталонным хешем в файле «a7hk3ux8p.txt». Если есть совпадение, то ответ респондента признается правильным.

Как использовать с вашим плагином

Примечание: Ниже приведены инструкции для разработчиков плагинов.

Во-первых, создайте экземпляр класса ReallySimpleCaptcha:

$captcha_instance = new ReallySimpleCaptcha();

Вы можете изменить переменные экземпляра по своему желанию.

// Change the background color of CAPTCHA image to black
$captcha_instance->bg = array( 0, 0, 0 );

Изучите really-simple-captcha.php, если вам интересны другие переменные.

Создание случайного слова для CAPTCHA.

$word = $captcha_instance->generate_random_word();

Создайте файл изображения и соответствующий текстовый файл во временном каталоге.

$prefix = mt_rand();
$captcha_instance->generate_image( $prefix, $word );

Затем покажите изображение и получите ответ от респондента.

Проверьте правильность ответа.

$correct = $captcha_instance->check( $prefix, $the_answer_from_respondent );

Если $correct возвращает true, продолжайте. В противном случае, блокируйте респондента – кажется это не человек.

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

$captcha_instance->remove( $prefix );

Это все.

Если вы хотите посмотреть живое демо работы плагина, зайдите на страницу плагина Contact Form 7.

Скриншоты

  • screenshot-1.png

Установка

В большинстве случаев, вы можете установить плагин прямо из WordPress.

В любом случае, если вы устанавливаете плагин вручную, просто следуйте этой инструкции:

  1. Загрузите весь каталог really-simple-captcha в каталог /wp-content/plugins/.
  2. Активируйте плагин на странице «Плагины» в панели управления WordPress.

Для справки: У этого плагина нет страницы в «панели управления».

Часто задаваемые вопросы

CAPTCHA не работает; изображение не показывается.

Для работы Really Simple CAPTCHA необходимо установить библиотеки GD и FreeType. Попросите сделать это у своего системного администратора или у технической поддержки вашего хостинга.

Также установите права доступа для временного каталога, которых хватит для записи. Месторасположением временного каталога вы можете управлять с помощью переменной tmp_dir в классе ReallySimpleCaptcha. Обратите внимание, что настройка зависит от вызывающего плагина. Например, Contact Form 7 использует wp-contents/uploads/wpcf7_captcha как временный каталог, но может использовать и другую – в зависимости от ваших настроек.

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

Отзывы

17.12.2021
Needed this for an installation with custom forms. I used the plugin developers instructions and was able to make a fully custom implementation based on server side validation within 30 minutes. No more spam bots misusing the forms. Thank you!
21.01.2021
Worked great for me a a simple solution to annoying emails. looked good
Посмотреть все 126 отзывов

Участники и разработчики

«Really Simple CAPTCHA» — проект с открытым исходным кодом. В развитие плагина внесли свой вклад следующие участники:

Участники

«Really Simple CAPTCHA» переведён на 38 языков. Благодарим переводчиков за их работу.

Перевести «Really Simple CAPTCHA» на ваш язык.

Заинтересованы в разработке?

Посмотрите код, проверьте SVN репозиторий, или подпишитесь на журнал разработки по RSS.

Журнал изменений

2.2

  • Bumps up the minimum required WordPress version to 6.1.
  • Bumps up the minimum required PHP version to 7.4.
  • Replaces ReallySimpleCaptcha::normalize_path() with wp_normalize_path().
  • Updates Apache directives.

2.1

  • Использует hash_equals() для сравнения строк.