Антиспам для WordPress. Плагин Captcha. Капча для WordPress — защита комментариев от спама Плагин recaptcha

Капча или CAPTCHA – это компьютерный тест типа вызов-ответ, который используется для определения, кто именно зашел на сайт – человек или бот.

Для чего нужна капча?

Обычно капчи применяются на страницах с вводом логина и пароля, а также на формах добавления комментариев. Это делается вот почему. В первом случае такая проверка обезопасит форму входа на сайт от подбора паролей, а во втором – для исключения спам-комментариев.

Плагин Google Captcha (reCAPTCHA) by BestWebSoft

Для WordPress существует множество готовых решений в виде плагинов, позволяющих защитить сайт от вышеупомянутого зловредного влияния. Так, среди них следует выделить довольно популярный плагин Google Captcha (reCAPTCHA) by BestWebSoft , который использует капчу от Гугл. Он является универсальным, так как позволяет установить проверку на большинство разделов сайта. Среди них:

  • форма регистрации,
  • форма входа,
  • форма напоминания пароля,
  • форма добавления комментариев,
  • контактная форма,
  • кастомная форма.

Итак, после установки и активации плагина, в админ-панели появится сообщение, что для работы капчи необходимо получить ключи.

В поле Label необходимо ввести имя проверки (любое). Также следует выбрать тип проверки. Мы воспользуемся простой для пользователя проверкой, которая предполагает подтверждение простым выбором необходимых картинок (reCAPTCHA V2 ).

После выбора типа проверки необходимо ввести название домена сайта, после чего отметить пункт Accept the reCAPTCHA Terms of Service и нажать кнопку Register .

После сохранения настроек Вы попадете в окно, где нужно будет скопировать отдельно (например, в Блокноте ) значения полей Site key и Secret key .

Все, необходимые ключи получены. Теперь возвращаемся обратно в админ-панель сайта и переходим Google Captcha -> Настройки .

В поля Ключ сайта и Секретный ключ следует ввести значения сохраненных ранее Вами строк (Site key и Secret key соответственно). Ниже, в разделе Включить reCaptcha для , нужно выбрать страницы, на которых будет включена проверка, после чего нажать кнопку Сохранить изменения . После успешного сохранения настроек Вы сможете протестировать капчу.

Если тестирование прошло успешно, то настройка завершена, и теперь можно перейти на отмеченную Вами страницу, на которой должна появится капча.

Из этой статьи вы узнаете, как интегрировать новую reCatcha Google в формы входа, комментариев, регистрации и восстановления пароля WordPress :

Существует много различных решений для блокировки ботов. Одним из самых популярных до недавнего времени была ReCaptcha . Она выводит изображение с определенным текстом, и пользователь должен ввести этот текст. Но алгоритмы ботов становятся более продвинутыми, и они научились ломать эту защиту.

Поэтому ReCaptcha больше не являлась безопасной. Кроме этого метод был довольно неудобным для пользователей. Поэтому в Google разработали новое решение и назвали его No Captcha ReCaptcha .

В этой статье мы рассмотрим, что представляет собой No Captcha ReCaptcha , и как создать плагин, который интегрирует ReCaptcha в формы входа, комментариев, регистрации и восстановления пароля WordPress .

Обзор No Captcha ReCaptcha

No Captcha ReCaptcha отображает флажок, с помощью которого пользователю предлагается указать, что он не является ботом. Это может показаться не надежным решением, но внутренние алгоритмы и методы Google позволяют точно определить, является ли пользователь ботом. Новая версия является более удобной и безопасной.

Регистрация сайта и получения ключей

Пользователям, которые хотят установить этот плагин, нужно зарегистрировать свой сайт , чтобы получить ключ сайта и секретный ключ.

Вы должны создать страницу настроек для плагина, которая позволяет администратору WordPress установить ключ сайта и секретный ключ, которые он получит в панели администрирования ReCaptcha :

function no_captcha_recaptcha_menu() { add_menu_page("reCapatcha Options", "reCaptcha Options", "manage_options", "recaptcha-options", "recaptcha_options_page", "", 100); } function recaptcha_options_page() { ?>

reCaptcha Options

You need to register you domain and get keys to make this plugin work.

"); echo __("Enter the key details below"); } function display_captcha_site_key_element() { ?> " /> " />
  • Мы создаем страницу настроек в панели администрирования WordPress ;
  • На этой странице настроек выводятся два поля для ввода ключа сайта и секретного ключа;
  • Эти ключи сохраняются как параметры WordPress site_key и secret_key .

Добавление No Captcha ReCaptcha в форму комментариев WP

Нам нужно интегрировать ReCaptcha в форму комментариев, чтобы исключить возможность размещения ботами спама.

Создайте в папке плагина файл style.css и поместите в него следующий код:

#submit { display: none; }

Приведенный выше код скрывает кнопку «Оставить комментарий » в форме комментариев WordPress . Таким образом, мы размещаем панель ReCaptcha над кнопкой «Оставить комментарий «, вставив кнопку и панель ReCaptcha вручную.

Ниже приводится код для вставки ReCaptcha в форму комментариев:

function frontend_recaptcha_script() { wp_register_script("recaptcha", "https://www.google.com/recaptcha/api.js"); wp_enqueue_script("recaptcha"); $plugin_url = plugin_dir_url(__FILE__); wp_enqueue_style("no-captcha-recaptcha", $plugin_url ."style.css"); } add_action("wp_enqueue_scripts", "frontend_recaptcha_script"); function display_comment_recaptcha() { ?>

">

Давайте рассмотрим, как работает приведенный выше код:

  • Мы подключаем в интерфейсе WordPress с помощью действия wp_enqueue_scripts ;
  • Мы также подключаем файл style.css с помощью функции wp_enqueue_style ;
  • В форме комментариев мы выводим флажок с помощью действия comment_form ;
  • После того, как комментарий был отправлен, перед его добавлением в базу данных WordPress вызывается фильтр preprocess_comment . Внутри фильтра мы проверяем, является ли пользователь человеком или ботом. Если это человек, то возвращается комментарий, чтобы добавить его в базу данных. В противном случае возвращается ноль, чтобы блокировать добавление комментария в базу данных.

Добавление No Captcha ReCaptcha в форму входа WP

Мы должны интегрировать ReCaptcha в форму авторизации панели администрирования, чтобы предотвратить взломы паролей ботами с помощью перебора. Ниже приводится код для интеграции ReCaptcha в форму входа:

function login_recaptcha_script() { wp_register_script("recaptcha_login", "https://www.google.com/recaptcha/api.js"); wp_enqueue_script("recaptcha_login"); } add_action("login_enqueue_scripts", "login_recaptcha_script"); function display_login_captcha() { ?>

">
ERROR: You are a bot")); } } else { return new WP_Error("Captcha Invalid", __("ERROR: You are a bot. If not then enable JavaScript")); } } add_filter("wp_authenticate_user", "verify_login_captcha", 10, 2);

Давайте рассмотрим, как работает приведенный выше код:

  • Мы подключаем JavaScript-файл Google ReCaptcha на страницах входа, регистрации и восстановления пароля с помощью действия login_enqueue_scripts ;
  • Перед получением окончательного результата аутентификации WordPress запускает фильтр wp_authenticate_user для добавления дополнительного этапа валидации. Мы проверяем, является ли пользователь человеком или ботом. Если это человек, мы возвращаем объект пользователя, в противном случае мы возвращаем объект ошибки.

Добавление No Captcha ReCaptcha в форму регистрации WP

Интегрируем ReCaptcha в форму регистрации, чтобы предотвратить создание ботами фейковых аккаунтов. Ниже приводится код для интеграции:

function display_register_captcha() { ?>

">
add("Captcha Invalid", __("ERROR: You are a bot")); } } else { $errors->add("Captcha Invalid", __("ERROR: You are a bot. If not then enable JavaScript")); } return $errors; } add_filter("registration_errors", "verify_registration_captcha", 10, 3);

Давайте рассмотрим, как работает приведенный выше код:

  • Мы выводим флажок с помощью действия login_form ;
  • Перед получением окончательного результата аутентификации WordPress запускает фильтр registration_errors , чтобы добавить дополнительный шаг валидации. Внутри этого фильтра мы проверяем, является ли пользователь человеком или ботом. Если это человек, мы возвращаем пустой объект ошибки, иначе мы добавляем дополнение к объекту ошибки и возвращаем его.

Добавление No Captcha ReCaptcha в форме восстановления пароля

Нам нужно интегрировать ReCaptcha в форму восстановления пароля, чтобы предотвратить заполнение этой формы ботами. Ниже приводится код для интеграции:

function verify_lostpassword_captcha() { if (isset($_POST["g-recaptcha-response"])) { $recaptcha_secret = get_option("captcha_secret_key"); $response = wp_remote_get("https://www.google.com/recaptcha/api/siteverify?secret=". $recaptcha_secret ."&response=". $_POST["g-recaptcha-response"]); $response = json_decode($response["body"], true); if (true == $response["success"]) { return; } else { wp_die(__("ERROR: You are a bot")); } } else { wp_die(__("ERROR: You are a bot. If not then enable JavaScript")); } return $errors; } add_action("lostpassword_form", "display_login_captcha"); add_action("lostpassword_post", "verify_lostpassword_captcha");

Давайте рассмотрим, как работает приведенный выше код.

Капча (Captcha) — специальный защитный код, который позволяет избежать спама на сайте. Добавляется, как правило, в разные формы на страницах — регистрации, комментариев, логина и т.п. Это позволяет отсеять большинство ботов, автоматически их заполняющих. Код состоит из букв и цифр, что иногда искажаются разными эффектами и преобразованиями. Однажды с плагинами капчи я уже сталкивался — это был простенький Really Simple CAPTCHA для формы обратной связи Contact Form 7. Сегодня решил поискать что-то для страницы регистрации пользователей, так как в одном из проектов регулярно начали ее спамить. В итоге удалось отобрать 5 лучших плагинов, каждый из которых имеет свои отличительные особенности и плюсы.

Captcha by BestWebSoft

Отличительной особенностью (ссылка на детальный обзор) есть использование разных математических уравнений. Это позволит защитить ваш сайт не только от ботов, но и убережет от неадекватных и неразумных пользователей (которые местами попадаются). Традиционно можно настроить его для любых форм в системе — от регистрации до комментариев. Доступны практически все языковые версии, в том числе и русская. Требования к WordPress — от версии 2.9, последний релиз — 8.02.2013 и более 400 тыс. загрузок.

Основные функции плагина Captcha: поддержка базовых математических функций — сложения, вычитания, умножения, использование при этом как цифровых, так и словесных выражений. Установка традиционная, настройки можете видеть на картинке выше. Лично мне очень понравилась такая вариация капчи, причем не нужно всматриваться в какие-то искаженные буквы, гадать что вообще там на картинке изображено, а просто включить мозг. Отличный модуль!

Отличный вариант для тех случаев, когда вы хотите «потестировать» умственные способности аудитории. Пользователю придется решить простой уравнение дабы пройти защиту. Детальнее о решении читайте в . Из преимуществ Math Captcha я бы назвал совместимость с Contact Form 7, а также наличие большого числа настроек: выбор места появления капчи, используемых математических операций, отображение задания из цифр или в виде текста и др.

Модуль один из самых простых, что мне встречались. Поэтому я начал с него — установка и настройка капчи заняла, наверное, минуты 2-3. Он добавляет защитный код в разные формы сайта — регистрационную, комментарии и форму логина. Код отображается в виде простых синих символов (цифр и букв), зачеркнутых несколькими линиями. «Помехи» защищают картинку от распознавания разным софтом, а пользователям будет увидеть код не так уж и сложно.

После установки в настройках модуля администратор может выбрать какие символы и сколько их использовать в капчте, а также для каких именно форм выводить. Имеется локализация плагина, поэтому во всем легко разобраться. Определенно самым большим преимуществом есть простота и скорость настройки + капча, в принципе, нормальная. Для работы потребуется версия вордпресс старше 3.0, модуль загрузили около 10 тыс. раз, а последнее обновление было 16.01.2013.

WP-reCAPTCHA (закрыт)

Вообще reCAPTCHA общедоступная каптча, которая в свое время была приобретена Google (если я правильно понял) и развивается уже под крылом этого онлайн гиганта. Это один из самых популярных скриптов, который используется в очень многих CMS и сервисах, он также является чуть ли не самым защищенным от ботов.

Для интеграции этой капчи в систему wordpress как раз и используется модуль WP-reCAPTCHA. Установка его классическая, но после активации в системе вам нужно будет получить специальный ключ. На этой же странице, кстати, найдете всю необходимую информацию для разработчиков, которая касается reCAPTCHA.

В настройках модуля WP-reCAPTCHA вы можете выбрать: активацию капчти для комментариев и/или формы регистрации, внешний вид (тему) капчти, язык, HTML стандарт отображаемого кода, тексты сообщений об ошибке. Единственное, что смутило — поддержка до 2.9.2 версии вордпресс и последнее обновление в начале 2012 года, но загрузок почти 400 тысяч.

SI CAPTCHA Anti-Spam (закрыт)

Плагин SI CAPTCHA Anti-Spam наиболее часто встречался в разных подборках — я так понимаю это самый популярный модуль по каптче. Он позволяет добавить защитный код ко всем (или избранным) формам в вордпресс — регистрация, забытый пароль, логин, комментарии. Без проблем совместим с Akismet, а также работает в WPMU и .

В данном модуле используется бесплатная Open-source разработка (библиотека) под названием PHP CAPTCHA. В изображении имеется абстрактный фон, цветные, искаженные символы, а также разные «помехи» в виде кривых поверх текста. Есть кнопка «обновить капчту», если сложно ее прочитать.

Что касается особенностей самого плагина SI CAPTCHA Anti-Spam, то там найдете: разные настройки, валидный HTML код, отображение/показ защитного кода для разных форм или залогиненых или нет пользователей (актуально при комментировании). Поддерживается локализация. Модуль работает с вордпресс от 2.9 до последних версий, актуальное обновление 6.01.2013 и всего 1,5 млн скачиваний.

Secure CAPTCHA (не актуален)

Напоследок приберег более-менее новую для меня каптчу, которую еще не встречал — Secure CAPTCHA. В изображении для защитного кода используется рукописный текст. Из-за этого программам-дешифровщикам сложно разделить разные буквы для взлома капчи, которая понятна будет только человеку. Кроме того, для всего слова можно использовать еще какое-то преобразование дабы дополнительно запутать ботов.

По словам разработчиков за счет того что буквы хорошо выделяются от фона, не нужно особо всматриваться в изображение. Хотя, если честно, мне местами все равно трудно понять что же там написано. Чтобы использовать данную капчту, после установки и активации вам нужно будет зарегистрироваться на сайте разработчиков и получить специальные ключи. Далее в настройках выбираете какую именно форму вы хотите защитить от спама. Модуль скачали не так много людей — всего 5200, хотя в целом идея достаточно интересная. Для работы понадобиться версия вордпресс 3.1 и выше.

Конечно, это далеко не все плагины для капчи в WordPress, их существует намного больше, причем есть куда более изощренные и необычные — складывание картинки из частей (как в пазлах), выбор специального изображения из представленных в каптче и т.п. Я упомянул в посте лишь те, которые наиболее часто упоминались в подборках разных модулей + сразу нашлись при поиске. Первые 4 — определенно находка, я бы спокойно использовал каждый из них на своих и разрабатываемых сайтах.

Привет, читатель! До недавнего времени на моем блоге работал плагин Math Comment Spam Protection, реализующий математическую капчу для WordPress. Надо сказать, плагин очень надежный и защищает комментарии не только от спама, но и от людей. Недавно на почту пришли пару писем, написанных через форму обратной связи с жалобами на капчу в комментариях. У пользователей спрашивалось, сколько будет 7+10? Казалось бы 17, но нет! Капча WordPress отвергала этот вариант и не пропускала комментарий.

Воссоздать условия, при которых капча переставала корректно работать у меня не получилось, поэтому и не получилось ее починить. Оставался только один вариант — отказаться от Math Comment Spam Protection и начать поиск новой защиты от спама. Об этом сегодня и поговорим.

Плагины капчи для комментариев WordPress

1. DCaptcha — именно эту капчу я первой добавил на свой блог сразу после . Очень простая капча, которая сводится к тому, что человек должен поставит галочку напротив фразы «Это не спам». Легче только полное отсутствие капчи, но об этом позже. К сожалению, со временем стал просачиваться спам. Не скажу, что по много, но все равно не приятно.

Установка DCaptcha в WordPress:

  • Скачайте последнюю версию плагина с сайта разработчика.
  • Распакуйте архив в текущий каталог и загрузите полученную папку на сервер в директорию wp-content/plugins/, используя .
  • Зайдите в админку WordPress и в разделе «Плагины» активируйте DCaptcha.
  • Установите права 777 на каталог /wp-content/plugins/dimoning.ru-captcha/num на сервере, используя все тот же ftp клиент FileZilla.
  • Запустите браузер и в адресной строке укажите следующее: http://vash_site.ru/wp-content/plugins/dimoning.ru-captcha/install.php (конечно, вместо vash_site.ru подставьте адрес своего сайта), нажмите Enter.
  • Все, плагин DCaptcha готов к работе, и капча автоматически появится под формой комментариев.

Стандартную надпись «Это не спам» можно поменять. Для это следует открыть на редактирование файл /wp-content/plugins/dimoning.ru-captcha/dimoning.ru-captcha.php. Используя стандартный поиск (ctrl +f), найдите строчку

Замените текст на любой другой. Кроме этого, к нему можно добавить стили, чтобы выделить и сделать более заметным для пользователей.

— одна из лучших символьных капчей для WordPress. Выглядит следующим образом:

Как видите, распознать символы для человека не составит труда. В чем преимущества Captcha Code:

  • Очень простая установка капчи: скачиваем плагин Captcha Code , загружаем на сервер и активируем через админку WP. В настройках галочками отмечаем, где будет использоваться капча — на страницах Входа, Регистрации и Восстановления пароля, в форме комментариев. Никакого дополнительного кода в шаблоны используемой темы WP добавлять не надо.
  • Настроек немного и все они на русском языке.
  • Регулируемая сложность капчи — устанавливается количество символов и какого рода они (строчные и заглавные буквы, цифры).

3. WP-reCAPTCHA — капча от Google. Очень надежная, но очень сложная. Отпугнет не только ботов, но и всех пользователей. Хотя, она встречается на многих сайтах в интернете, поэтому лично я к ней уже привык. Выглядит следующим образом:

Для работы плагина следует зарегистрироваться на сервисе www.google.com/recaptcha и получить приватный и публичный ключи. Заметьте, что для это необходимо иметь аккаунт на Google. Создать его можно . Это не займет много времени.

Получить заветные ключи очень просто, достаточно сделать три небольших шага:

1. Используем кнопку «USE reCAPTCHA ON YOUR SITE» для начала регистрации.

2. На следующей странице жмем на кнопку «Sing up Now!».

3. Указываем адрес своего блога и генерируем ключи, нажатием кнопку «Create key». Можно так же поставить галочку напротив «Enable this key on all domains (global key)», это позволит использовать полученные ключи на всех сайтах, а не только на одном указанном.

4. — не совсем стандартная капча, представляет собой простую логическую задачу — все картинки нужно поставить вертикально.

Устанавливается плагин стандартно. Единственным условием для работы капчи является наличие в шаблоне comments.php используемой следующей строчки кода:

ID ) ; ?>

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

К сожалению, плагин придется русифицировать в ручную, хотя это не должно занять много времени. Откройте на редактирование файл плагина not-captcha.php и замените английские выражения на аналогичные русские.

5. — еще одна альтернативная капча с картинками, только в ней необходимо выбрать изображение, соответствующее задаваемому вопросу.

Плагин поддерживает как английский, так и русский язык, что является несомненным плюсом. После активации плагина, капча в комментарии WordPress добавляется автоматически. Если этого не произошло, то в настройках CheckBot, в пункте «The method of connecting plugin» выберете «Manual». В шаблон comments.php, в то место, где хотите видеть капчу, добавьте следующую строчку кода:

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

Установка ReCaptcha на сайт может стать отличным способом для защиты от спам-ботов. Благодаря этому можно уберечь свой проект от спам-комментариев или регистраций ботами. В этой статье вы узнаете, как поставить такой вид каптчи на свой сайт с использованием плагина для WordPress.

Технология защиты ReCaptcha принадлежит корпорации Google. В большинстве случаев, такая каптча намного проще для пользователя, так как требует только установки галочки – система сама проверит, робот это или нет. В некоторых случаях от пользователя потребуется пройти лёгкий тест.

ReCaptcha на сайт с плагином Advanced noCaptcha reCaptcha

Для начала скачайте себе плагин Advanced noCaptcha reCaptcha по ссылке ниже.

Установите плагин на свой сайт и активируйте. После этого в консоли появится новый пункт «Advanced noCaptcha». Перейдите в него.

Начать работу следует с получения «Site Key» и «Secret key», которые нужно ввести в соответствующие поля в настройках плагина.

Чтобы получить эти данные, перейдите сюда (вы должны быть залогиненны в Google). Перед вами появится форма, которую нужно заполнить: в поле «Название» запишите наименование вашего проекта, в поле «Домены» — адрес сайта. Также рекомендую оставить галочку «Отправлять владельцам оповещения», это позволит получать уведомления, если будет подозрительно активная атака ботов или возникнут какие-то ошибки.

После заполнения формы нажмите «Регистрация».

На следующей странице вы получите два кода, которые вам нужны для плагина, чтобы установить ReCaptcha на сайт. Из секции «Ключи» скопируйте код из поля «Ключ» и вставьте его в настройках плагина в поле «Site Key».

Затем скопируйте код из поля «Секретный ключ» и вставьте его в настройках плагина в поле «Secret key».

  • Language. Язык ReCaptcha на сайте рекомендую оставить по умолчанию – «Auto detected», то есть он будет определять автоматически.
  • Theme. Есть два вида оформления ReCaptcha – светла и тёмная. Подберите что-то под цвет вашего дизайна сайта.
  • Size. Есть два вида размера – нормальный и компактный. Тоже выбирайте относительно вашего дизайна.
  • Error Message. Сообщение об ошибке лучше перевести на русский язык. Например, вместо того, что там написано по умолчанию, можно указать «ОШИБКА! : Пожалуйста, пройдите каптчу правильно». Или что-то аналогичное на своё усмотрение.
  • Show Captcha on. Можно настроить, у каких форм будет отображаться ReCaptcha на сайте, например, формы авторизации, регистрации, сброса пароля, комментирования, поддерживаются также формы плагинов BBPress и WooComerce.


Понравилась статья? Поделиться с друзьями: