“Опять этот спам, ничего от него не помогает” – частые мысли всех блоггеров. Очень часто этот спам не дает нам жить, а различные спам-фильтры порой определяют хорошие сообщения как злостный спам и удаляют их. Мне не раз приходили на почту жалобы “а чего это ты мои комментарии удаляешь?”, а я и знать не знал, что человек пишет мне
И начинал перебироать горы спама в поисках нормального сообщения. Да и спам бывает разный, не только автоматический но и полуавтоматический и даже ручной – но о классификации спама давайте поговорим в своем время – чуть-чуть позже.
Что такое спам?
Другими словами это просто “реклама” того или иного продукта, которая распространяется любыми удобными для рекламодателя способами. Чаще всего в быту под терминов спам понимают “Нежелательная реклама”, т.е. реклама, о которой мы не просили. Конечно, такой вид рекламы является противозаконным.
Способы распространения спама
Кроме почтового спама есть еще спам через SMS-сообщения. Мне лично такой не приходил, но в сети я уже все чаще встречаю подобные жалобы пользователей.
Также есть еще и спам в социальных сетях и на сайтах знакомств. Думаю, каждый из вас уже встречал подобные сообщения и не раз вы жали на кнопку “Это спам”. Специально для таких целей создаются отдельные страницы в социальных сетях и с помощью специализированного софта отсылаются сообщения массово всем подряд или по определенным критериям.
Ну и конечно же спам на форумах и в комментариях блогов. Об этом виде спама мы сегодня и поговорим более детально. Спам в комментариях блогов – уже не является эффективным (конечно если блог не заброшен, тогда зачем создавать блог чтобы его босить?) благодаря множеству спам-фильтров и антиспам-плагинов. Они постоянно улучшают свою работу, свои алгоритмы. Но они эффективный лишь от автоматического спама, когда рекламмные сообщения отправляет машина, робот. Но ведь иногда в комментариях спамят еще и живые люди.
Давайте поговорим про ручной спам в комментариях
Как избавиться от спама
Способ номер 1: установите у себя на блоге плагин Akismet. Он устанавливается очень легко.
Скачать плагин
После скачивания плагина, его нужно разархивировать и “залить” в хостинг в папку /plugins/, после чего, плагин нужно будет активировать из админки вашего блога.
На сайте Akismet желательно зарегистрироваться и получить ключ активации этого плагина.
И на странице настройки плагина введите это ключ, который вы получили сразу после регистрации…
Все, плагин активирован и успешно работает.
Способ номер 2: это плагин Disqus, мы о нем также говорили в статье про установку комментариев в блоги.
Устанавливается Disqus довольно просто. Cамое главное – зарегистрироваться на оффициальном сайте Disqus , в процессе регистрации вы должны будете ввести адрес вашего блога, ваш логин, пароль, почту, и ввести ваши данные как модератора ваших комментариев.
Итак, выбираем WordPress и качаем плагин под него. Можно также скачать плагин от сюда. Активируем его в админке WordPress. Далее идет в настройки плагина Disqus Comment System, где мы должны будем обновить плагин (если нужно конечно) – жмем Update (по необхдоимости).
Вот в принципе лучшие плагины для wordpress, которые защищают ваши блоги от автоматического спама.
Как защититься от спама руками
Для этого нам нужно понять, как происходит работа автоматических скриптов. Вы не раз оставляли комментарии на разных блогах и замечали что нужно заполнять определенные поля. Так вот, эти поля имеют свои собственные имена, чтобы можно было узнать от кого пришли те или иные банные в базу данных. Имена этих полей – стандартные и в большинстве блогов имеют одинаковые названия – “comment”. Этим и пользуются спамеры, создавая свой специальный софт для спама в комментариях. Нам нужно использовать метод подмены этих полей.
Метод подмены полей заключается в том, что мы как быскрываем настоящее поле для ввода комментария ‘comment‘ и подсовываем вместо него новое поле ‘real-comment‘. Для посетителей блога все останется, как прежде и они не заметят никакой разницы, а вот спам-скрипты будут пытаться заполнить стандартное поле ввода комментария со стандартным его именем ‘comment‘. Ведь скрипт не понимает, что человек не может заполнить текстовое поле, которое он не видит на странице. Спамный комментарий определяется именно по заполненности невидимого для посетителей поля. Другими словами , если заполнено невидимо поле – значит комментарий спамный.
Для начала давайте найдем файл comments.php и в нем найдем код
1 | <textarea id="comment" class="textarea" name="comment"></textarea> |
заменяем их на
1 2 3 4 5 6 | <div class="smo"> <textarea id="comment" class="textarea" name="comment"></textarea> </div> <textarea id="real-comment" class="textarea" name="real-comment"> </textarea> |
Сейчас нам нужно скрыть стандартное поле для комментирования. Для этого нужно открыть файл стилей шаблона style.css и добавить туда код:
1 | .smo {position: absolute; left: -1000px;} |
Сейчас нам осталось добавить форму настоящего комментария, если ваш шаблон использует для вывода формы комментирования новую функцию comment_form(). Откройте файл шаблона functions.php и добавьте туда код
1 2 3 4 5 6 7 8 9 10 11 12 13 | //добавление своего поля для ввода комментария start add_filter('comment_form_defaults', 'change_comment_form_defaults'); function change_comment_form_defaults($default) { $commenter = wp_get_current_commenter(); $default['comment_notes_after'] .= '<p class="comment-form-real-comment"> <label for="real-comment">Комментарий</label><textarea id="real-comment" aria-required="true" rows="8" cols="45" name="real-comment"></textarea> </p>'; return $default; } //добавление своего поля для ввода комментария end |
Скрыть стандартное поле надо путем вставки в style.css кода:
1 | .comment-form-comment {display: none;} |
Первая чаcть этого метода подмены полей полностью готова. Теперь мы имеем видимое поле для пользователей для ввода комментариев ‘real-comment’ (можно использовать любое иное имя), а вот стандартное поле ввода скрыто с глаз пользователей. Сейчас нам нужно понять, какое поле было заполнено пользователем – если видимое, то комментарий игнорируем, а если невидимое, то запрещаем его публикацию. Давайте откроем файл functions.php шаблона и добавим в него код:
1 2 3 4 5 6 7 8 9 10 11 | //проверка на спам start 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 |
На этом все, больше автоматический спам вас не побеспокоит. Проверить работу данного хака очень легко – достаточно удалить сделанные вами изменения в файле style.css, обновить страницу, заполнить оба поля для ввода комментария и попытаться опубликовать ваш комментарий.
Данный метод избавления от спама хорош по двум причинам: абсолютно никакого спама и при этом нет необходимости обновлять хак при выходе новых версий WordPress.
Заключение про спам.
Кроме этих плагинов также существует плагин wp-noexternallinks, который закрывает все ссылки от индексации. И открывает только те, которые вы сами поставите в список доверенных. Этот комментарий поможет вам даже если вы пропустили спамный комментарий – не потерять вес вашего блога в глазах поисковиков.
На этом в принципе все, а чтобы не пропускать ничего интересного – подпишись на обновления блога. А пока предлагаю видео про смешную маршрутку.
С уважением, Тумилович Денис.
Рекомендую также прочитать:
- Я долго искал, но все таки понял, что лучшая защита от спамаэто самописный скрипт.

интересное решение, добавлю к своим
спамеры действительно достали, но я как то в этом плане не ленюсь удалять комменты. Да и предмодерация спасает
У вас наверное небыло по 200-600 каментов в день
И лишь 1-3 из них нормальные.
“…открыть файл стилей шаблона style.css и добавить туда код:
1
.smo {position: absolute; left: -1000px;}…”
А “туда” – это куда? В какую строку?
Можно в любое место. Но лучше всего в конец файла и оставьте комментарии, чтобы впоследствии не забыть, какую функцию выполняет данная строка.
Занятно. Подпишусь-ка я на RSS пожалуй
Оригинальная идея. Только вот интересно сколько время на это потрачено? Прикольный пост, на рсску подписался. Будем читать
Я очень рад, что вам все понравилось, но ссылку вашу я потер.
Занятно. Подпишусь-ка я на RSS пожалуй
Мне нравятся Ваши посты, заставляет задуматься…
Конечно, мы все с удовольствием проводим время в сети, но далеко не всегда – с пользой. Вот и я тоже. Редко попадается что-то действительно стоящее, что-то, что не только рассмешит, но и заставит задуматься. Этот пост как раз – одно из ркдких исключений, когда читаешь с удовольствием и что-то для себя выносишь. Спасибо автору.
Радует, что ваш блог постоянно развивается. Такие посты только прибавляют популярности