Защищаем wordpress от спама в комментариях без плагинов

В предыдущей статье я писал о том, как защитить wordpress от спама в комментариях без использования капчи. Там рассказывалось о плагине Antispam Bee, который производит автоматическую подмену формы комментирования. Плагин этот работает превосходно, за 3 дня он отловил в моем блоге порядка 350 спамеров и ни один из них не проник в комментарии.

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

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

Для защиты  wordpress от спама в комментариях без плагинов нам необходимо создать форму для ввода комментария. Для того, чтобы создать форму, есть два способа. Это связано с тем, что существует два вида функции comment_form().

Откройте файлик comments.php шаблона Вашей темя и посмотрите внимательно, что там прописано. Вы можете там найти там такую строчку:

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

Замените ее на следующую:

<div class="smo">
<textarea id="comment" class="textarea" name="comment"></textarea>
</div>
<textarea id="real-comment" class="textarea" name="real-comment">
</textarea>

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

  .smo {position: absolute; left: -1000px;}

Это мы рассмотрели один вариант подмены формы комментирования для защиты  wordpress от спама.

Теперь давайте рассмотрим еще один вариант. Этот вариант поджойдет для тех, у кого используется новая функция comment_form().

Открываем файл темы  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'] .=
'<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;
}
//Конец добавления нового поля для  комментария

теперь скрываем стандартную форму, внеся изменения в файл стилей:

  .comment-form-comment {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;
}
//проверка на спам конец

Вот и все несложные манипуляции, благодаря которым мы с Вами  Защищаем wordpress от спама в комментариях без плагинов.

Если Вам понравилась статья, не забывайте поделиться с друзьями:

Предыдущие статьи из категории: Безопасность

  • Защищаем wordpress от спама в комментариях
  • SpywareBlaster-антишпионская программа
  • Как обнаружить в компьютере программу-шпион
  • Хотите поработать оператором WebMoney? Осторожно! Лохотрон.
  • Программа-лохотрон для генерации карт WebMoney.
  • Автоматический сборщик денег. Программа-лохотрон.

  • Оставить комментарий

    Ваш email не будет опубликован. Обязательные поля отмечены *

    Вы можете использовать это HTMLтеги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>