Сайт о телевидении

Сайт о телевидении

» » Защита от спама в WordPress. Код для защиты от авто-спама в комментариях. Защита WordPress от спама с помощью хака подмена полей

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

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 вообще без плагинов, но нужно немного полазить в кодах. Способ этот я тестировал в течение двух суток, и не один спам не просочился.

Если на Вашем сайте установлен плагин «Akisment », о котором до сих пор пишут блоггеры, то я советовал бы Вам избавиться от него. Не могу понять, что хорошего в нем нашли?

Плагин этот не доработан, и нормальные комментарии иногда попадают в «СПАМ », поэтому за этим надо всегда следить. Уж если Вы не любите возиться с кодами, то почему бы Вам не установить плагин «Invisible Captcha »? Этот плагин действительно хороший, хотя я ни разу не видел, чтобы о нем кто-то писал. У меня он был установлен года 4, если не больше.

Метод, который я предлагаю Вам использовать сегодня – защищает сайт 100% от СПАМа. То есть, Вы один раз настраиваете защиту, и забываете, что СПАМ вообще существует. Плюс к этому, Вы удалите один плагин с Вашего сайта.

Для установки и настройки защиты от СПАМа, понадобиться подредактировать некоторые файлы шаблона, а именно: comments.php, style.css и functions.php . Для начала нужно узнать, какая функция выводит поле для ввода текста в комментариях.

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

Появится окошко для веб-разработчиков. Вы увидите такую строку, или похожую на нее.

XHTML

Смотрите еще скриншот

Во многих шаблонах за вывод текстового поля отвечает тег textarea . Этот тег Вы видите в коде и на скриншоте. Эту строку нужно найти в файле comments.php .

Внимание!

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

Для того чтобы быстро отредактировать файл, можно воспользоваться редактором WordPress: «Внешний вид » -> «Редактор ». Найдите файл comments.php , а затем найдите в нем строку с тегом textarea .

Для быстрого поиска, нажмите на клавиатуре «Ctrl » + «F ». Появится поисковое поле для ввода текста, напишите в нем слово «textarea » без кавычек. Должна автоматически найтись строка с этим кодом.

Скопируйте эту строку полностью и вставьте ее ниже, сразу под этой строкой. У Вас должно получиться так:

То есть, должно быть одинаковые две строки. Теперь нужно сделать в верхней строке некоторые изменения. К атрибуту name и id подставив слово «main » без кавычек. Должно получиться так:

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

placeholder="Введите текст комментария"

Теперь верхняя строка должна выглядеть так.

XHTML

С этим файлом разобрались. Сохраните его.

Редактируем файл стилей style.css

Теперь на Вашем сайте появилось второе поле комментариев, но Вы его можете не увидеть, если на сайте установлен плагин кэширования, например, WP Super Cache , или подобный ему.

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

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

/*скрываем форму комментария*/
#comment {display:none;}

Редактируем файл function.php

Осталось подключить фильтр, который будет проверять заполнение полей. Если заполнено первое поле, тогда комментарий считается нормальным, и он остается на блоге, а если заполняется второе, тогда комментарий считается СПАМ и он удаляется.

Открываем файл function.php и добавляем в него код

/*фильтр для спама*/ 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["main-comment"]); $_POST["comment"] = $comment_content; return $commentdata; } /*фильтр для спама*/

/*фильтр для спама*/

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

1 – Anti Spam Bee

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

Для использования этого плагина регистрация не требуется, также он будет показывать статику за последние 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 комментарии, про спам комментарии в блогах. Я думаю, Вам как и мне, уже надоело постоянно заходить в папку «спам» и вручную перебирать комментарии автоматического или еще хуже ручного спама. После чего выискивать в этой куче хлама хороший, осмысленный комментарий, который затесался в папку спам комментарии по ошибке.

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

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

Суть метода!

Для ручного спама мы как всегда поставим плагин «Akismet» . Я думаю, он должен стоять практически у каждого блоггера. Если еще не стоит, то в интернете есть масса литературы про то, как его поставить и как активировать. Данный плагин будет защищать наш блог от ручного спама в комментариях. А хак «подмена полей», в свою очередь, защитит блог от авто спама.

Думаю, стоит отметить два больших плюса такого танца с бубном: первое — избавляемся от постоянной проблемы авто спам и второе — больше не придется править файлы движка после обновления WordPress. Правда как всегда есть и минус, придется подшаманить два файла в нашей теме, comments.php и style.css . Но как по мне, данный минус незначителен.

Суть метода примерно следующая! Если Вы продвинутый блоггер, то должны знать, что стандартное поле для ввода комментариев имеет имя comment , поэтому мы скроем настоящее поле и подсунем вместо него новое поле real-comment .

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

В общем, все просто как дважды два. Человек заполняет видимое поле real-comment , а спам-скрипт заполнит по старинке стандартное поле comment , но уже невидимое. Заполненное невидимое поле и будет спам комментарием! :-) Думаю самое время приступить к делу!

1. Комментарии через функцию «comment_form ()»

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

Теперь скрываем наше стандартное поле comment , через файл «style.css» :

Comment-form-comment {display: none;}

Итак, с первой частью хака мы справились. Теперь у нас есть поле real-comment , которое видит и может заполнить посетитель, и стандартное поле comment , которое скрыто! В следующем шаге нам необходимо определить, какое из данных полей пропускать, а какое запрещать. Если заполнено видимое поле, то пропускаем, а если заполнено невидимое поле, то запрещаем. Для этого открываем файл functions.php и добавляем туда код:

2. Комментарии не через функцию «comment_form ()»

Если у вас комментарии выводятся не через функцию comment_form() , как у меня! В этом случае открываем файл comments.php и находим там код, выводящий поле для ввода комментария. Что-то похожее на:

Данный код необходимо заменить на:

Теперь надо скрыть стандартное поле для ввода комментария. Для этого откройте файл стилей вашего шаблона «style.css» и добавьте туда код:

No-spam {position: absolute; left: -1000px;}

No-spam {display: none;}

Также и в данном способе не забываем добавить код в файле functions.php , для определения, какое из данных полей пропускать, а какое запрещать.

//Проверка на спам 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["real-comment"]); $_POST["comment"] = $comment_content; return $commentdata; } //END проверка на спам

Вот в принципе и все! Теперь спам комментарии больше вас и ваш блог не потревожат. Если вы сомневаетесь, все ли сделали правильно, можете проверить работу данного хака по защите wordpress от спама. Для этого необходимо убрать из файла style.css внесенные изменения, обновить страничку блога, заполнить каждое поле комментариев и попытаться опубликовать комментарий!

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