Защита от спама в WordPress. Код для защиты от авто-спама в комментариях. Плагины для защиты wordpress от спама

Здравствуйте, уважаемые читатели блога сайт. Небольшой пост из серии «а ларчик просто открывался». Последние года четыре . Однако в последнее время он стал пропускать — с каждым днем все больше и больше. В связи с чем пришлось искать ему замену, ибо вручную удалять сотни спаммных комментариев не очень улыбалось.

Почитал про разные имеющиеся на рынке плагины — как с капчей, так и без нее. И по ходу дела несколько раз наткнулся на описание того способа избавления от спама в WordPress , который в итоге и применил. У него есть ряд преимуществ и всего один недостаток — придется чуток покопаться в коде (но самую малость). Зато в результате получаете рабочий вариант спаморезки, без и без создания дополнительной нагрузки на блог за счет установки плагина.

Как направить спам-ботов по ложному пути?

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

Однако, робота этого можно попытаться обмануть в той области, где не шибко искушен. Главное, чтобы он считал, что с успехом выполнил свою работу — распространил спам по страницам вашего блога. Для обмана мы добавим на сайт еще одну форму для ввода текста комментария . Если их будет две, то какую выберет робот для добавления поста? Правильно, скорее всего, первую. Тут ведь действует та же логика, что и в ироничной миниатюре про два девятых вагона, когда все логично считали, что 9 вагон это тот, который следует сразу после 8, а не тот, что находится перед 10.

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

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

Итак, чтобы все это дело реализовать на практике, большого ума не надо. Однако, по традиции, советую вас . Все файлы, которые нам понадобятся, находятся в папке с используемой вами темой оформления (/wp-content/themes/имя_темы). , чем редактировать эти файлы через админку WordPress, ибо во втором случае у вас могут возникнуть проблемы с отменой внесенных изменений.

Самодельная спаморезка в теме оформления WordPress

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

Теперь копируете эту строку (не мою, а свою, в вашем файлике 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 плагинов для защиты от спама, которые помогут вам сэкономить время и силы, которые вы сможете потратить на что-нибудь более важное.

1 – Anti Spam Bee

Anti Spam Bee - является наилучшим решением для защиты от спама на вашем WordPress блоге. Он имеет около 20 отборных функций, которые вы сможете настроить так, как вам нравится. Этот плагин не сохраняет ваши персональные данные, так что вы можете не беспокоиться ни о каких утечках информации.

Для использования этого плагина регистрация не требуется, также он будет показывать статику за последние 30 дней.

  • Нет необходимости в регистрации.
  • Не хранит персональные данные.
  • Бесплатный для коммерческого использования.
  • Имеет статистику за 30 дней.
2 – Spam Free WordPress

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

Основные моменты и особенности:

  • Использует мало памяти.
  • Защищает от спам-ботов.
  • Имеет pro версию.
  • Поддерживает нескольких языков.
3 – Grow Map Anti Spambot Plugin

Grow Map Anti Spambot Plugin - защитит вас от автоматических спам-ботов, оставляющих спам-комментарии, новые усовершенствованные спам-боты также ограничены в своих действиях, поскольку в ваших комментариях генерируется проверочное поле. Это поле будет спрашивать пользователей, чтобы убедиться в том, что они не спамеры.

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

Основные моменты и особенности:

  • Защита от автоматических спам-ботов.
  • Генерация проверочного поля.
  • Ограничение максимального количества комментариев.
  • Защита от новых усовершенствованных спам-ботов.
4 – WP Spam Shield Anti-Spam

WP Spam Shield Anti-Spam – в одном плагине решение всех ваших проблем со спамом, этот плагин избавит вас от спама в комментариях, регистрационного спама, трекбек и пингбек спама. Особенностью этого плагина для защиты от спама является то, что он использует блокирующую спам контактную форму, так что вам не придётся беспокоиться насчёт спама в вашей электронной почте.

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

Основные моменты и особенности:

  • Не имеет капчи.
  • Защищает от различных видов спама.
  • Имеет блокирующую спам контактную форму.
  • Шорткод-функции.
5 – WordPress Zero Spam

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

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

Основные моменты и особенности:

  • Не имеет капчи.
  • Отсутствует модерация.
  • Функция IP блокировки.
  • Совместим с кэшем.
Заключение
Это список лучших бесплатных WordPress плагинов для защиты блога от спамеров. В этот список не включён Akismet , он не является бесплатным для коммерческих блогов. Многие блоги стараются заработать, по этой причине в данных список включены только те плагины, которые являются совершенно бесплатными. К тому же он через чур сильно фильтрует. Зачастую в спам попадает много хороших комментариев, а на некоторых блогах, это могли бы быть потенциальные покупатели, которые не дождавшись ответа уйдут и никогда больше не вернуться.

Я лично пользуюсь давно проверенным способом Для просмотра ссылки необходимо:

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

1. Akismet

Это стандартный анти-спам плагин для WordPress , который устанавливается вместе с CMS . Он был одним из первых, разработанных для WP , причем практически тем же составом, который работал над созданием WordPress . Речь идет об Automattic , как многие из вас уже догадались.

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

2. Antispam Bee


Antispam Bee представляет собой еще один плагин для WP , который позволяет оценивать различные составляющие каждого комментария, и пресекать любой спам. В плагине предусмотрена возможность подтверждения комментаторов, которым можно доверять.

Плагин также проверяет IP-адреса , Gravatar и т. д. Это позволяет пресечь практически любые попытки опубликовать спам-комментарии.

3. Anti-spam


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

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

По факту, это один из наиболее эффективных анти-спам плагинов для WordPress .

4. WP-SpamShield Anti-Spam


Анти-спам решение “все в одном ” для WordPress , которое борется не только со спам-комментариями, но и отсеивает трекбэки от подозрительных источников, спам в обратной связи и даже подозрительные аккаунты в процессе регистрации. Этот плагин вообще не применяет CAPTCHA , и поэтому никак не сказывается на опыте взаимодействия.

WP-SpamShield отлично сочетается с такими плагинами, как Contact Form 7 , Gravity Forms , Ninja Forms , JetPack Contact Forms & Comments , BuddyPress , bbPress , WooCommerce и поможет навсегда избавиться от спама.

5. Advanced Invisible Anti-spam


Едва ли не самая эффективная защита от спама WordPress , которая без проблем справится со спамерами без применения капчи. Несмотря на свою простоту, он отлично работает с продвинутыми системами кэширования. Данный плагин предлагает фильтры, с которыми без труда справится любой веб-мастер.

6. WP Anti Spam

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

7. BotPlug


Это один из множества платных плагинов, который обойдется вам в $12 . Он не только избавит вас от спама, но также способен бороться с вредоносными ботами и брутфорс-атаками. С помощью этого плагина можно ограничить количество запросов к серверу, которые исходят с конкретного IP-адреса . Если бот попытается обойти это ограничение, то он будет либо перенаправлен на другую страницу, либо столкнется с CAPTCHA , которая проверяет то, что запросы делает реальный человек. Кроме этого вы можете блокировать отдельные IP-адреса , которые были уличены в спам-рассылке.

8. AlphaOmega Captcha & Anti-Spam Filter


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

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

9. Anti-Spam by CleanTalk


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

Плагин подсчитывает заблокированные комментарии, попытки отправить спам через форму обратной связи, а также через форму регистрации на сайте. Он совместим с плагином WooCommerce , а это значит, что ваш интернет-магазин на базе WordPress также будет защищен от спама.

10. ZWS WordPress Anti Spam & URL Filter


Данный плагин для защиты сайта от спама работает двумя разными способами. Один заключается в ликвидации поля “веб-сайт ” при регистрации, в которое спамеры часто вписывают спам-ссылки. Второй способ заключается в том, что у вас будет возможность использовать списки запрещенных слов, которые впоследствии служат маяками для плагина.

11. WPBruiser {no-Captcha anti-Spam}


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

Он автоматически блокирует IP-адреса , уличенные в рассылке спама. Кроме этого ваш сайт будет защищен от брутфорс-атак.

Перевод статьи “13 Free WordPress Anti Spam Plugins to Prevent Comment Spam ” был подготовлен дружной командой проекта

Всем привет. Если у вас есть сайт на 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

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