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

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

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

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

Автоспам не отфильтровывается, все складывает в одну папку и среди этого мусора довольно трудно найти хороший комментарий.

Для защиты от авто спама приходится ставить еще один плагин. Плагин для установки капчи. Боты пока не научились мыслить и не могут произвести элементарные математические действия или угадать картинку.

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

Плагин Antispam Bee отфильтровывает комментарии которые оставляют спам роботы. Делает он это довольно просто. К форме комментариев добавляется невидимое текстовое поле. Если заполнены оба поля, значит это спам, так как человек невидимое поле видеть и заполнить не может.

Вот таким нехитрым способом проводится защита от авто спама.

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

В сети можно встретить жалобы на небольшие глюки плагина. А в общем плагин вполне заслуживает уважение.

Плагин Invisible Captcha отфильтровывает автоспам совсем по другому принципу. Он не создает дополнительное поле для комментария. Плагин отслеживает, была ли нажата кнопка «Отправить». Пока, кликать по кнопкам могут только люди, спам программы не умеют этого делать. Вот по этой особенности отправки комментария плагин и отлавливает бота.

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

В контекстном меню кнопки в браузерах Google Chrome и Yandex выбираем пункт «Просмотр кода элемента». В Mozilla – пункт «Исследовать элемент». В Opera – «Проинспектировать элемент».

sabmit

Внизу страницы откроется дополнительное окно с кодом страницы, в котором сразу будет подсвечен код кнопки. Если имя кнопки name и идентификатор id имеют значение submit, значит Ваш блог будет дружить с плагином.

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

Затем в оба поля внесем небольшие изменения. Первое поле сделаем невидимым, добавив в него стиль style=”display: none;”. А второму полю изменим имя и идинтификатор. Например на такое real_comment.Это будет выглядеть так:

 

<textarea id=”comment” style=”display: none;” name=”comment”></textarea>

<textarea id=”real_comment” style=”display: none;” name=”real_comment” class=”textarea”cols=”50” rows=”10”></textarea>

 

Роботы будут икать поле с именем name=”comment”, так у них программа написана. А разработчики тем всегда дают имя области ввода комментариев – comment.

Теперь в файл темы 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;
}

Чтобы не запутаться в функциях выделите ее комментариями.

Теперь при заполнении видимого поля комментарий будет пропускаться. А при заполнении невидимого поля робот увидит сообщение «Спам не пройдет!», хотя он и не умеет читать. Но это так…

Если Ваша тема выводит текстовую область для комментария с помощью функции, то вместо дополнительного тега <textarea> придется написать дополнительную функцию.

Для того чтобы определить использует ли тема тег <textarea> для вывода текстового поля, поступите так же как с кнопкой.

Хотелось бы обратить Ваше внимание еще на один вид спама. Это ссылки на пробелы. Довольно-таки коварный вид спама. Например, Вы видите вот такой комментарий в консоли админки:

spam

Или то же самое во вкладке «Комментарии»:

spamcom

На первый взгляд это хороший комментарий и побольше бы таких. Но если кликнуть по опции «Изменить» или «Свойства», то мы увидим вот такую картину:

spamup

Спамер спрятал в комментарии свои ссылки, а в качестве анкора (текста ссылки) использовал пробел.

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

Если Вам лень проверять комментарии на этот вид спама, можно воспользоваться готовой функцией. Её я нашел на сайте Дмитрия

function show_me_the_spam_links($comment) {
return preg_replace(
'#<a.+href=["\']?(https?:\/\/[^\s"\'\>]+)[\'"\s].+>[\s\.\,\_]*<\/a>#msiU',
'<a href="http://anonym.to/?$1" title="Похоже на спам-ссылку"
style="border: 1px dotted #F00 !important;
background: #FF6 !important; padding: 2px 4px !important;
color: #03F !important">$1</a>',
$comment);
}
add_filter('comment_text', 'show_me_the_spam_links', 10000);
Эту функцию нужно скопировать и вставить в файл functions.php вашей активной темы.

Теперь, если спамер попытается вставить в комментарий свои ссылки, то нажав на кнопку «Отправить», он получит сообщение, что его комментарий на модерации. Внизу будет выведен сам комментарий в таком виде:

spamscript1

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

spamscript

Все невидимые ссылки сразу стали видны. Теперь Вы можете, точно так же, кликнуть по «Изменить», удалить ссылки, обновить и одобрить комментарий.

У Вас опять останется хороший комментарий и без спама.

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

Удачи Вам.

рассказать друзьям и получить подарок