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 = wp_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 как временный каталог, но может использовать и другую – в зависимости от ваших настроек.

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

Отзывы

19.08.2024
Nothing but positives. We added this to our Gravity Form in order to obtain the dynamic math captcha. One can create a simple math captcha in GF but not dynamically changing for each form load insofar as I can determine. And GF google captcha Ver 3 is a pain with the need for google api keys. So we added this plugin and it was very easy — add the captcha field to the form, select «math» in the settings for the field and done! We find that Gravity Forms Zero Spam plugin was helping to deter spam entries but it with this captcha is 100% so far for spam prevention. Thank you Takayuki Miyoshi!
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!
Посмотреть все 126 отзывов

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

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

Участники

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

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

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

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

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

2.3

  • Bumps up the minimum required WordPress version to 6.4.

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.