Здравствуйте, дорогие читатели hooka-mimi.ru! Сегодня я решил еще раз поговорить о такой теме как защита от спама. Уже не раз мы обсуждали эту тему, например в этой статье, но все-равно вопросы у многих возникают и решил я рассказать вам еще парочку методов.


Спам – это рассылка рекламных сообщений пользователям против их воли. И это такая штука, с которой встречаются все вебмастеры в сети, независимо от их статуса и профессионализма.

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

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

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


KeyCAPTCHA

Это довольно интересная и простая, но от этого не менее эффективная, защита от спама. Перед отправкой вам будет предложено собрать небольшой пазл, то есть вам нужно будет составить картинку из нескольких кусочков. Данный антиспам непробиваем для спам-ботов, ведь здесь не вводятся символы, а требуется передвигать картинки. Данный плагин будет хорошей защитой от спама для вашего блога. Причем плагин распространяется не только для WordPress, но и для других популярных CMS. Данный плагин может доставить неудобство людям, которые не пользуются мышью, но где сейчас можно найти таких?! :) Также минусом этого плагина является то, что с каптчи у вас будет внешняя ссылка на сайт разработчиков. Но это мелочи.

reCAPTCHA

Эта каптча разработана корпорацией Google. Она является хорошей защитой от спама для вашего блога, но очень уж она раздражает пользователей, признаться, и я тоже не очень люблю ее вводить. Но несмотря на это она хорошо справляется с задачей отсечения спама. Ее можно использовать не только в самых известных CMS, но и самостоятельно установить на любой сайт, но хостинг должен поддерживать язык PHP. Настройки обширны и вы сможете подстроить данный плагин под себя. Дополнительной особенностью этой каптчи является возможность прослушать написанные символы. Это будет плюсом для слабовидящих людей.


YaCAPTCHA

YaCAPTCHA – это еще одна защита от спама от другого поискового гиганта – Яндекса. Она также очень проста в установке и настройке. Минусом является слабая защита от автоматических распознаваний. Выглядит она так:

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

Akismet

Данный плагин по умолчанию ставится в новые сборки WordPress. Является лучшей бесплатной защитой от спама, но есть и платная подписка. Работает он следующим образом. Когда какой-либо пользователь оставляет у вас комментарий, то данный комментарий отправляется на сервер Akismet для проверки на спам.

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

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


Antispam Bee

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

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

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

Для начала вам нужно будет изменить имя стандартному полю «comment» на любое другое, например, «real-comment». Это никак не отразится на удобстве для ваших посетителей, а вот спам-сообщения будут отсеиваться, так как на стандартное поле будет стоять запрет на добавление комментариев.

Вывод комментариев при помощи comments_template()

Вам нужно найти на хостинге и открыть файл comments.php. В открытом файле найдите такую строку:

1
<textarea id="comment" name="comment"></textarea>

И замените ее на такой код:

1
2
<textarea id="comment" style="display: none;" name="comment"></textarea>
<textarea id="real-comment" class="textarea" name="real-comment"></textarea>

Вместо имени поля real-comment можно использовать любое другое.
Далее откройте файл под названием functions.php и в конце файла, перед символами ?>, запишите такой код:

1
2
3
4
5
6
7
8
9
//спам фильтр
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;
}

Если вы вписывали свое имя вместо real-comment, то здесь его следует также заменить на то, которое указывали в comments.php.
Вывод комментариев при помощи comment_form()

В файл functions.php для добавления нового поля впишите следующий код:

1
2
3
4
5
6
7
8
9
10
11
12
//свое поле комментариев
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" name="real-comment" rows="8" cols="45"></textarea>
</p>
';
return $default;
}

Таким образом вы обеспечите своему блогу на WordPress качественную защиту от спама. На этом сегодня все. И пожелаем спамерам читать свои спамерские комментарии всю жизнь. :)


Понравилось? Расскажи друзьям: