Wordpress плагин от спама. Убираем спам регистрации для постинга в WordPress. Защита от спама. Преимущества плагина KAMA

На одном из моих проектов, где доступна регистрация пользователей и постинг заметок от их имени, значительно увеличилось количества спама. И если с похожей проблемой для комментариев помогает справиться , то в данном случае пришлось искать другое решение. Раньше я удалял новых пользователей по одному через админку вордпресс (по 10-20штук в неделю это не проблема). Однако сейчас спам регистраций насчитывается больше сотни за пару дней. Тратить на это время каждый раз неохота, поэтому решил всерьез разобраться с негодниками. Пост состоит из двух частей — первая защита от спам регистраций, а вторая — удаление неактивных пользователей.

Защита от спам регистраций

Очевидно, что для этого решения будем использовать каптчу. Как-то в блоге я публиковал заметку про , где были:

  • Captcha Code — картинка с простыми цифрами (такие ломают чаще всего).
  • WP-reCAPTCHA — плагин относительно старый плюс для работы надо получить ключ.
  • Secure CAPTCHA — еще один древний модуль, что не обновлялся более 2х лет.
  • Captcha by BestWebSoft — математическая каптча.
  • SI CAPTCHA Anti-Spam — самый популярный модуль со множеством настроек.

Ничего плохого не могу сказать про последний вариант, просто мне хотелось настроить все максимально быстро и просто. В итоге выбрал Captcha by BestWebSoft, где пользователю нужно ввести недостающее число в уравнении.

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

После установки плагина Captcha by BestWebSoft нужно указать некоторые настройки каптчи.

Здесь определяете:

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

После установки настроек, сохраняете их.

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

Update 15.07.2015. К сожалению, плагин Captcha by BestWebSoft, а затем и SI CAPTCHA Anti-Spam не смогли защитить от спам регистраций на сайте. Поток ботов уменьшился, но в целом результат каптчи не удовлетворительный. Пришлось искать другое решение — . Данная каптча от Google действительно справилась со своей задачей, за несколько дней не было ни одного случая регистрации ботов. Рекомендую!

Удаление неактивных пользователей

  • найти пользователя по логину, который отображается для последней добавленной спам заметки;
  • кликнуть «Удалить» по соответствующему юзеру в результатах поиска;
  • отметить галочку «Удалить все посты» для данного пользователя и подтвердить удаление.

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

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

Для менее продвинутых пользователей и тех, кто не хочет связываться с базой данных, рекомендую использовать плагин Inactive User Deleter . Не смотря на то, что модуль давно не обновлялся, со своими обязанностями он справляется. Находил еще парочку других решений, но подавляющее их большинство ориентировано на массовую правку ролей пользователей, а не их удаление.

Что же касается Inactive User Deleter, то работать с ним достаточно просто. После установки заходите в раздел «Пользователи» пункт меню Inactive users.

Здесь есть несколько параметров выборки юзеров:

  • пользователи без одобренных комментариев;
  • имеющие спам комментарии;
  • не разместившие никаких записей на сайте;
  • созданные более чем Х дней назад;
  • уровень пользователей;

Для удобства есть также выбор сортировки результатов. Хорошо, что по каждому юзеру отображается вся статистика — число постов, комментариев. Для массового удаление просто отмечаете несколько (или всех сразу) пользователей. Единственное, чего не хватает — выборки пользователей по дате создания. То есть модуль Inactive users ориентирован в первую очередь на старые регистрации, которые спустя некоторое время так и не были активны. Вывести, скажем, всех юзеров за последние 2-3 дня не получится (только через phpMyAdmin и редактирование базы данных напрямую).

Напоследок пару слов о модуле Stop Spammers Spam Prevention , который достаточно часто упоминают при борьбе со спам регистрациями.

Плагин позволяет бороться со спам регистрациями и спамом в комментариях. Он содержит около 20-ти разных проверок, позволяющих предотвратить попытки спама на вашем сайте. Если же они выявлены, то пользователю всегда предоставляется второй шанс — ввод каптчи (с помощью разных плагинов). Каптча позволяет юзеру подтвердить, что он не бот или спамер. В принципе, решение интересное, хотя я его лично и не использовал. Возможно, вам в работе пригодится.

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

До недавнего времени я постоянно проверял папку со спамом на наличие ошибочно попавших туда комментариев. Обычно в день у меня на блоге в спам попадало около 50-70 комментариев . В конце концов меня это утомило, и я начал искать способ, который бы позволил мне избавиться от автоматического спама раз и навсегда. И я такой способ нашел 🙂 .

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

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

Суть этого способа в том, что мы создаем новое поле для комментария с новым именем, а старое поле спрячем от глаз посетителей. Спам-бот, по привычке, будет вводить комментарий в стандартное поле, так как настроен на это, но отправить этот комментарий он не сможет 🙂 . В то же время обычные посетители будут вводить комментарии в форму с новым именем, и при этом никаких изменений они даже не заметят.

Итак, перейдем к реализации этого метода. Существует два пути развития событий: либо у вас старая версия движка, и комментарии у вас выводятся через html код, либо у вас свежая версия, и комментарии выводятся через функцию comment_form() .

Первый вариант

Рассмотрим вариант, когда комментарии выводятся через html код.

Первое, что нам нужно сделать, это найти в файле comments.php , в папке с темой оформления, строку, отвечающую за вывод поля для ввода комментария. Обычно оно выглядит так:

Эту строчку нужно заменить на следующую конструкцию:

Следующим шагом нам нужно изменить стили для этих форм. Для того, чтобы скрыть старую форму от глаз посетителей, добавляем в файл style.css :

Spamform {display: none;}

Если к вашей старой форме комментариев были привязаны стили, то вам нужно заменить в style.css все id=»comment» на id=»newcomment» , тогда ваша новая форма комментариев будет выглядеть как прежняя.

Ну и последним шагом вставляем в конец файла functions.php (до знака ?> ) следующую функцию:

//spam_detect add_filter("pre_comment_on_post", "verify_spam"); function verify_spam($commentdata) { $spam_test_field = trim($_POST["comment"]); if(!empty($spam_test_field)) wp_die("no-spam"); $comment_content = trim($_POST["newcomment"]); $_POST["comment"] = $comment_content; return $commentdata; } //end

Второй вариант

Теперь рассмотрим второй вариант, когда комментарии выводятся при помощи функции comment_form () .

Здесь алгоритм практически такой же как и в предыдущем пункте. Все, что нам нужно сделать, это добавить две функции в файл function.php:

//Добавляем поле комментария add_filter("comment_form_defaults", "change_comment_form_defaults"); function change_comment_form_defaults($default) { $commenter = wp_get_current_commenter(); $default["comment_notes_after"] .= "

"; return $default; } //end //spam_detect add_filter("pre_comment_on_post", "verify_spam"); function verify_spam($commentdata) { $spam_test_field = trim($_POST["comment"]); if(!empty($spam_test_field)) wp_die("no-spam"); $comment_content = trim($_POST["newcomment"]); $_POST["comment"] = $comment_content; return $commentdata; } //end

Первая функция добавляет новое поле для комментирования (аналог

Теперь копируете эту строку (не мою, а свою, в вашем файлике comments.php) и вставляете сразу за самой собой, чтобы получилось примерно так:

Если заметили, то я во второй строке заменил name="comment" id="comment" на name="struktura" id="struktura" . Вы должны сделать то же самое, но только вместо struktura использовать можно все, что угодно (потом просто замените это в коде фильтра приводимого чуть ниже).

Понятно, да? Мы таким образом создали вторую форму для ввода комментария (если сохраните сейчас произведенные изменения, то увидите в реале две этих формы на своем блоге). Первая из них будет «пустышкой» для наивных спам-роботов (мы ее сейчас спрячем от глаз пользователей), а вторая будет рабочей формой, которой и будут пользоваться ваши комментаторы, ибо ничего другого они и не увидят.

Поэтому следующим шагом будет открытие файлика style.css из папки с вашей темой оформления. Где-нибудь внизу его можете дописать:

#comment {display:none;}

После чего первая (фиктивная) форма для комментариев исчезнет со страниц вашего блога на WordPress. Все просто, но мне тут нашептали, что следует избегать из-за опасений навлечь немилость поисковиков (не знаю оправданы ли эти опасения) — типа вы что-то скрываете, делая часть сайта невидимой для посетителей (некий отдаленный аналог клоакинга получается).

Textarea#struktura {margin-top:-60px;overflow:hidden; } textarea#comment input {margin-top:10px;}

Таки образом я наехал второй формой на первую и полностью скрыл от глаз посетителей «пустышку», чтобы они ничего в нее не могли добавить. Если что-то не понятно, что читайте про и .

Итак, нужного визуального эффекта мы добились. Осталось еще добавить фильтр, который бы отключал добавление комментариев через первую (основную по умолчанию) форму и передавал бы ее полномочия второй форме, которая будет доступна посетителям. Для этого нужно будет открыть (архиполезный) и добавить в него (аккуратно, чтобы не поломать уже имеющийся там код) этот фильтр (не забудьте заменить struktura на то, что использовали вы):

Add_filter("pre_comment_on_post", "verify_spam"); function verify_spam($commentdata) { $spam_test_field = trim($_POST["comment"]); if(!empty($spam_test_field)) wp_die("спам"); $comment_content = trim($_POST["struktura"]); $_POST["comment"] = $comment_content; return $commentdata; }

Все, теперь сохраняете произведенные изменения во всех трех файликах и проверяете работоспособность формы отправки комментариев на вашем блоге. Возможно, что со стилями вам чуток придется повозиться, чтобы как следует спрятать первую (фиктивную) форму, ну, а вообще, на все про все у меня минут пять и ушло. А у вас?

Удачи вам! До скорых встреч на страницах блога сайт

посмотреть еще ролики можно перейдя на
");">

Вам может быть интересно

Смайлики в WordPress - какие коды смайлов вставлять, а так же плагин Qip Smiles (красивые смайлики для комментариев)
reCAPTCHA - простейшая капча Я не робот от Google Как отключить комментарии в WordPress для отдельных статей или всего блога, а так же убрать или наоборот подключить их в шаблоне Граватар - как создать глобальный аватар и настроить вывод иконки Gravatar в теме Вордпресса
Как войти в админку WordPress, а так же поменять логин и пароль администратора выданные вам при установке движка Пустая страница при просмотре больших постов (статей) в WordPress Пропало левое меню в админке WordPress после обновления

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

Очень большая доля сайтов в сети — это блоги. Ну а поскольку речь идет о WordPress, то сделать блог на нем, как говорится, сам Бог велел. Ведь WordPress изначально и создавался, как в первую очередь блоговый движок. Ну а какой же блог да без комментариев? Правильно, блог без комментариев уже и блогом назвать как-то язык не поворачивается. Ведь каждый блоггер, написав свежую статью, хочет получить обратную связь в виде общения с читателями в комментариях.

Соответственно, практически на любом сайте на WordPress разрешено комментирование статей и комментировать зачастую разрешено абсолютно всем, как зарегистрированным и авторизованным пользователям, так и гостям. А ведь это огромное раздолье для спамеров, которые через комментарии пытаются рекламировать тот или иной ресурс.

Именно поэтому одной из важных задач при ведении сайта на WordPress будет его защита от спама. Для начала давайте посмотрим, какие средства защиты предлагает нам WordPress из коробки. Для этого перейдем на страницу Настройки — Обсуждение.

Здесь нам могут помочь следующие настройки:

Пользователи должны быть зарегистрированы и авторизованы для комментирования

Комментарий должен быть одобрен вручную

Модерация комментариев

Чёрный список

Некоторые из этих настроек уже отмечены и используются, некоторые пока не используются. В принципе, названия этих настроек и описания к ним говорят сами за себя и объяснять здесь особо и нечего. Например, если вы не хотите видеть на своем сайте комментарии от гостей, тогда отметьте соответствующую настройку. Также обязательно рекомендую вам включить модерирование комментариев (Комментарий должен быть одобрен вручную). Это оградит читателей вашего сайта от чтения спама, поскольку комментарий никто не увидит до тех пор, пока администратор сайта не одобрит его. Ну а вы, как администратор, уже примете решение о том, достоин ли комментарий того, чтобы появиться на вашем сайте.

Конечно же, это, можно сказать, ограничение свободы слова Однако, к сожалению, в современных реалиях это практически вынужденная мера. На первом этапе принятых мер будет вполне достаточно для того, чтобы защитить ваш сайт на WordPress от спама. Если на вашем сайте «поселится» спамер и регулярно будет оставлять спамовые сообщения, тогда вы дополнительно можете занести его в Черный список, используя для этого целый набор признаков (e-mail, URL, IP и другие).

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

Как вы понимаете, это будет плагин, который добавит капчу для формы добавления комментария, то есть, к уже имеющимся полям, будет добавлено еще одно поле, с капчей. Подобных плагинов десятки и сотни. Это могут быть плагины, добавляющие обычное поле чекбокса, которое нужно отметить или, наоборот, снять отметку, чтобы доказать, что вы не бот. Это могут быть плагины, добавляющие гораздо более сложные варианты защиты. Для примера давайте воспользуемся плагином Captcha Code для WordPress. Как обычно находим и устанавливаем плагин.

После установки плагина в меню появится новый пункт — Captcha.

Здесь нам предлагают настроить капчу на свой вкус. Например, мы можем выбрать тип кода (буквы/числа) и букв (заглавные/маленькие буквы). Что особенно интересно, так это то, что капчу мы можем поставить не только для формы комментариев, но и для других форм на сайте WordPress: для формы авторизации и регистрации и для формы восстановления пароля. Также мы можем скрыть капчу для авторизованных пользователей.

Ну что же, посмотрим на работу плагина защиты от спама в действии. Попробуем ввести код неверно и получим соответствующее сообщение.

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

На этом у меня все. Удачи!

Открывая несколько лет назад данный блог я конечно имел представление о спамерах, но я даже и думать не мог, что с развитием проекта проблема станет столь острой. После того, как посещения в день достигли отметки 100 человек, в комментариях стали появляться все больше и больше автоматических сообщений с ссылками на порно сайты, вирусы и так далее. Удалять такой объём вручную весьма проблематично. Стало очевидно — с эти нужно бороться! Полазив по просторам необъятной сети я нашёл весьма много подобных случаев и несколько решений по защите wordpress(а) от спама. Протестировав все я убрал не рабочие, доработал оставившие и дополнил специальными плагинами. Дальнейшая корректировка также дала хорошие результаты! Итак, как вы уже поняли, что в данной статье я расскажу как дать отпор черным оптимизаторам, которые хотят нажиться на успехе вашего блога и нарастить ПР и ТИЦ показатели своих сайтов. Для чего им этого нужно? Только лишь для того, чтобы в дальнейшем продавать размещение ссылок на биржах. В общем, если вам не безразлична судьба вашего проекта — тогда эта публикация будет для вас интересна. Но обо всём по порядку!

Решения антиспама при помощи плагинов

Вордпресс славится тем, что на него весьма просто установить всевозможные дополнения. Для этого всего лишь нужно зайти в админку сайта, далее «плагины» и выбрать подменю «добавить новый». В появившейся странице, в строке поиска набрать название необходимого компонента и нажать «установить» после чего кликнуть на «активировать». Этого достаточно, что бы расширить возможности ресурса. В одной из статей я уже рассматривал при помощи всевозможных модулей. Но какие продукты позволят защитить wordpress от назойливых сообщений в комментариях? Об этом ниже!

WP No External Links

Не только делает исходящие гиперссылки внутренними (вида https://сайт/go.php?redirect=http://openkat.com), но и закрывает их тегами noindex и nofollow. В результате поисковая система хоть и распределяет по ним вес страницы, но делает это с минимальными долями. Используйте данную разработку — ведь не всегда вы сможете проследить все комментарии. Если же есть необходимость в неиспользовании плагина на какой-либо странице сайта, то есть соответствующие настройки, которые позволяют отключить маскировку.

WP-reCAPTCHA

Одно из самых популярных решений, суть которого заключается в вводе текстового кода с предоставленных картинок. При правильности данных можно отправить сообщение. Весьма хорошо защищает от автоматических роботов, однако всё же «пробивается» сервисом антигейт, который изначально был создан для благих целей. К примеру, он и сейчас используется seo оптимизаторами для упрощения работы с программами. Если вы до сих пор нечего об этом не знаете, то советую протестировать его работу при помощи . Для его активации WP-reCAPTCHA необходимо перейти на официальный сайт разработчика и выполнить пару шагов для получения Public/Private Key. Всё весьма просто!

CAPTCHA

Расширение показывает небольшое арифметическое вычисление, в котором пропущено одно значение. К примеру: 8+___=9. При правильной вставки цифры комментарий отправляется в публикацию. Позволяет задавать сложность: сложение, умножение, вычитание, а также заменять цифры словами. Довольно действенны метод — ведь спамеры ещё толком не научились решать задачки. Рекомендовано при неэффективности прочих способов!

Cookies for Comments

Система, которая позволяет на программном уровне определить и отсечь более 90% спама. Дело в том, что при загрузки страницы в браузере сохраняется файл Cookies, а при дальнейшей публикации сообщения проверяется его наличие. Если такового нет, то комментарий уходит в спам. Программные решения, которые как раз и засоряют блоки обходятся без обращений к странице, а значит у них и нет этого заветного файлика. Замечательно показал свою работу даже без связки с дополнительными защитами!

Akismet

Модуль позволяющий проводить автоматическую проверку новых комментариев по базе спама. Также добавляется статистика кол-ва одобренных сообщений для каждого пользователя. Расширение уже установлено в стандартных комплектация вордпресса. Однако, для его работы необходимо произвести активацию и регистрацию на сайте разработчика. При этом, при переходе по ссылке «получить API-ключ» которая отображается рядом с Akismet в списке плагинов вам нужно будет ввести email, пароль и логин, а на втором шаге бегунком выбрать 0 $ — т.е. бесплатный режим. После этого скопируйте API ключ и введите его в соответствующее поле в настройках к этому компоненту.

Contact Form 7

Довольно хороший инструмент создания форм обратной связи, который в связке с «Really Simple CAPTCHA» позволяет снизить спамерские сообщения — благодаря защите каптчей. Комментарии, которые будут приходить к вам на почту, будут от людей, а не от роботов. Я упомянул Contact Form 7 не спроста! Дело в том, что алгоритмы участвующие в отсылке заданного текстового контента с включенным в него ссылками затрагивает абсолютно все блоки, через которые можно что-либо отправить. При этом формы обратной связи не остаются без внимания!

Disable / Hide Comment URL

Удаляет пункт «Сайт» в блоках комментирования статей. Это решение не только снижает интерес к ресурсу со стороны спамеров, но и заставляет обдумывать ответ пользователей — ведь теперь они пишут не для ссылочной наживы!

Disable Comment Author Links

Блок «Сайт», который изначально открыт для заполнения, делает обязательное для заполнения поля «Имя» активной гиперссылкой. Упомянутый компонент как раз и удаляет эту связь не только для новых сообщений, но также и для опубликованных ранее. Вам не придётся обрабатывать в административной части старые комментарии от URL адресов.

Методы ручной защиты wordpress от спама

К сожалению, но только лишь плагинами в некоторых случаях нельзя обойтись (к примеру при использовании специфических тем, глобальной переработке ресурса). Также дополнительные расширения нагружают CMS систему — т.е. использование их в большом количестве при возросшем объёме посетителей может привести к перегрузке хостинга. Именно по этой причине я указал лишь основные. Если же что-то пропустил — поправьте меня в комментариях ниже.

Итак, теперь рассмотрим правки в коде. Если вы не знакомы с html, но так или иначе пользовались ФТП, тогда вам не составит большого труда отредактировать необходимый файл. Для верности сделайте бекап ресурса — это не будет лишней подстраховкой.

Удаление блока URL (Сайт) в формах комментирования статей

Если по какой то из причин вы не хотите использовать выше упомянутое расширение, которое как раз и убирает блок для установки WWW адреса, тогда проделайте следующие действия. Во первых найдите файл comment.php, который лежит по пути wp-content/themes/имя_используемой_темы/. Далее найдите и удалите следующий код (перед эти сохраните редактируемый документ — возможно вы допустите ошибку):

Если поиски не увенчаются успехов (в различных модификациях тем код может различаться), то поищите строку, которая содержит comment_author_url, name=»url» или id=»url» и внешне схожа с вышеупомянутым php текстом.

Защищаемся от спам-программ

Автоматический скрипт обходит саму страницу, на которой и находятся формы для заполнения. Он использует определенный алгоритм post запросов, который сводит в нет удаление URL блока. Однако, можно также поставить палки в колёса для таких ботов. Для этого зайдите в корневую папку ФТП вашего проекта и отредактируйте файл wp-comments-post.php. Необходимо найти строку, которая начинается с $comment_author_url и заменить её на $comment_author_url = «»;

Подытожим

На сегодняшний день не существует идеальной системы, которая способна в полной мере удовлетворить дизайнерские идеи, требования программиста, а самое главное — SEO оптимизатора. Любой движок необходимо дорабатывать — это нормально! Правила, которые приведены в вышеупомянутом тексте позволяют отредактировать лишь один, однако весьма важный компонент. В последующий редакциях мы ещё не раз затронем защиту wordpress не только от спама, но и от других действий черных оптимизаторов. Развивайте свой сайт и не позволяйте на этом наживаться другим!