Проснувшись серодня утром, запустив компьютер, и открыв почтовый ящик который прикреплён к моему блогу я просто ужаснулся, у меня более 90 писем.
«Да блин, вот сегодня мне понаписали ученики» — подумал я, теперь час сидеть бубу в почте, но просмотрев подробнее я понял, что все сообщения прислал мне мой любимый блог. И как я растроился увидев, что это сплошной спам!
«Пора наказывать хулиганов!» — подумал я.
Я решил бороться с ними не вспомогательными плагинами, которых есть множество, а прямиком средствами движка WordPress.
Я пощёл в комментарии и сделал их анализ и разбор. Самых ярых, тех, кто работает под одним IP я вычислил сразу, но много комментариев было проставленно спам программой Хрумер, а хозяйн программи прятался за прокси IP, тут его не достать по причине того, что прокси долго не живут, а их могут быть тысячи.
Как итог, сделал выборку самых распространённых слов, предлогов для английских коментаторов, флаг им в Ж..у .
Далее просмотрел и подобрал русские стоп слова, которые не хочу видеть в своих комментариях.
Включи ЭТУ НАСТРОЙКУ И СПАМ ЗВОНКОВ больше не будет! Отключаем Спам вызовы на смартфоне
На последок, выбрал спец символы.
Просмотрите моё видео про то как я боролся со спамерами средствами движка WordPress.
Настраиваем движок WordPress против SPAM комментариев.
Всё, что собрал пощёл и добавил в Настройки => Обсуждение => Список чёрных слов. (последнее окно в настройках wordpress на странице обсуждений).
Скачать мою сборку СТОП слов, можно по ссылке ниже.
Расскажите, пожалуйста, был полезен для вас данный видео урок по борьбе со спамом на wordpress?
Просмотрите похожие статьи:
- Сине голубая тема WordPress посвящённая рыболовству.
- Ускорение и оптимизация загрузки страниц WordPress.
- Настройка выпадающего Меню в WordPress 3 и выше.
- Настройка Тем WordPress от AleksNovikov.Ru
Поделитесь с друзьями по кнопкам ниже
Ирина 02.04.2012 в 19:01
Здорово, Александр, спасибо. Эти злыдни другой раз так достают, что кого-нибудь убить хочется. Способ предложил отличный, прям «дешево и сердито».
Светлана 03.04.2012 в 07:23
Спасибо! Даже не предполагала, что в Word Press есть такие возможности!
Анна 03.04.2012 в 08:05
За 2 минуты все сделала… Посмотрю результат 🙂
Спасибо за подсказку.
MElenKa 03.04.2012 в 08:14
Спасибо за помощь. Устала от этогоо спасма.
Михаил 03.04.2012 в 10:27
Александр, спасибо за информацию.
Действительно, все гениальное — просто.
Юрий 03.04.2012 в 12:22
Спасибо Александр за урок.
У меня спам отлично фильтруется с плагином Antispam Bee. Еще ни разу не замечал, чтобы спам просочился.
Павел 03.04.2012 в 12:24
Здравствуйте, Александр.
Очень вовремя нашел Ваши советы и рекомендации.
А то уже начали доставить, нехорошие.
Материал действительно полезен. Как только доберусь до дома — начну реализовывать. Ночь длинная 🙂
Еще раз СПАСИБО.
Василий 03.04.2012 в 15:26
О, ДА! Спасибо Вам, Александр!
Юлия 03.04.2012 в 16:32
Спасибо. Конечно, знала об этом, но руки не доходили сделать.
А тут 2 минуты — и готово.
Леночка 03.04.2012 в 20:55
Ваши статьи очень актуальны, как всегда! Недавно и я обнаружила у себя спам, текст английский, середина комментария зашифрована в какие-то квадратики. Отметила как спам и удалила. Ваша подборка стоп-слов очень поможет мне бороться с новыми спамерами! Спасибо.
SEO-Практик 04.04.2012 в 12:18
Да на самом деле никогда стоп-словами не пользовался, потому как плагины всё-равно надо ставить и ведь их хватает, что самое интересное.
Roman 04.04.2012 в 18:18
Отличная статья и помощь , в этом мало приятном деле- борьбы со спамщиками ! Спасибо !
Альбина 04.04.2012 в 18:41
Очень интересно, полезно, актуально. Спасибо.
Нина Павлиан 04.04.2012 в 19:43
Спасибо, Александр, за подсказку. Буду пользоваться. Но у меня вопрос: я скачала шаблон блога, а теперь как мне правильно его установить на Вордпресс?
Александр Новиков автор 04.04.2012 в 21:32
1) Зайти в админку вашего блога, найти вкладку Внешний Вид, во вкадке нажать Темы.
2) Жмём на верху большую кнопку Установка Тем.
3) Выбираем и жмём «Загрузить файл».
4) С помощью обзора выбираем на своём компьютере скаченный архив шаблона темы WordPress с расширением .zip и нажимаем кнопку Установить сейчас.
5) После успешной загрузки и распаковки темы шаблона, появятся 2 ссылки: Активировать тему, и перейти обратно в ваши темы. Жмите активировать.
6) Теперь можно пойти в настройки темы (вкладка: Внешний вид) и всё там настроить, и пройти в ваши Виджеты и поправить так как вам надо. ВНИМАНИЕ! Если, что либо не станет или не устроит, то всегда можно вернуться к старой вашей теме (шаблону), для этого в разделе Внешний вид найдите вашу старую тему и нажмите кноку рядом с ней активировать.
Алена 09.04.2012 в 09:57
Замечательный у Вас, Саша, блог, удобный.
Большое спасибо за пост. Вовремя и актуально. Обязательно воспользуюсь Вашим списком стоп-слов, посмотрю на результат.
Геннадий 13.04.2012 в 14:43
Не зря я все-таки подписался на Ваш блог, Александр. Какие ценные и в тоже время простые вещи Вы рассказываете. Мне бы наверное никогда бы не пришло в голову поставить заслон на спам именно английским предлогам и часто встречающимся словам, и надо же, на ровном месте Вы выдаете такое действенное оружие против интернет-хулиганов. Спасибо, с удовольствием жду Ваших новых уроков.
Евгения 01.05.2012 в 02:07
IP в черный список уже закидывала (правда и это тоже задолбало), но что слова можно помещать, я как-то не думала.
Спасибо и за информацию и за список!
Валентина Удалых 18.05.2012 в 13:02
Александр, огромное спасибо за информацию. Я записала у себя на сайте в фильтр повторяющиеся адреса, а вот про предлоги и повторяющиеся существительные даже не подумала. Еще раз спасибо.
Wendelin 06.09.2012 в 19:48
antispam bee это классная программа экономит много времени
Александр Новиков автор 12.11.2012 в 10:30
Я с Вами не соглашусь. Это целый сервис с проверкой. Не всё так просто. Простое решение дал ниже в комментариях. 1 плагин и небольшие доработки конфигурационного файла.
Валерий 11.11.2012 в 23:35
Александр, СПАСИБО!
Дешево и сердито.
Пусть умоются эти спам-умники.
Александр Новиков автор 12.11.2012 в 08:59
Сейчас я применяю другой метод против СПАМА.
1) Отключаю все плагины против СПАМА (Akismet и др).
2) Ставлю плагин Невидимая КАПЧА Вот точное название плагина Invisible Captcha Вот ссылка на сайт автора плагина: http://andrey.sorvin.ru/2010/01/invisible-captcha-v06/
Поставил, и активировал, как итог робот иметирует нажатие на кнопку, а люди нажимают, так вот всю эмитацию ботами он блокирует.
В настройках плагина поставил всё отправлять в корзину.
3) Отключил корзину комментариев за ненадобностью. Делается это в конфигурационном файле движка. wp-config.php (лежит в корне блога). Ниже приведу код который я вставил для отключения корзины и сохранения ревизий статей, чтобы не замусоривать базу данных. ================================================================ /* Удаляем сразу всё из корзины */
define(‘EMPTY_TRASH_DAYS’, 0); /* Удаляем все ревизии статей, отключаем автосохранение */
define(‘WP_POST_REVISIONS’, 0); ================================================================= Данный код вставил в строке 42 перед уникальными ключами аутентификации.
Теперь меня всякие Хрумеры не беспокоят! 🙂 Вот я рассказал Вам реальный рабочий на 200% способ защитить комментарии блога на WordPress от спама программами.
Александр Новиков автор 26.06.2014 в 11:43
Отключить просто корзину, было ошибкой, все спам комментарии писались в базу данных, они не удалялись. Обнаружил это когда заглянул в базу данных глазами и не поверил. Выше описанный способ отключает только кнопку корзина в админке, но комментарии продолжают туда писаться. Отключил я обратно эту функцию и удалил кучками более 8000 спам комментов, которые раздували базу данных почти в 3 раза и тормозили загрузку страниц, жрали мощности хостинга.
Таисия 02.02.2013 в 22:17
Александр, спасибо, я комментарий на ютубе оставила. Плагин убрала, дописала еще свои спам слова, потому, что тематика у нас разная и слова тоже. Сейчас подпишусь на обновления)
Источник: aleksnovikov.ru
Защита от спама для Contact Form 7 WordPress
Приветствую Вас, дорогой читатель моего блога! В данной статье я подробно расскажу о том, как сделать эффективную защиту от спама для Contact Form 7.
С каждым днём количество спамных сообщений, отправляемых через формы обратной связи владельцам сайтов увеличивается. Создано множество различных служб и сервисов для автоматической рассылки сообщений через формы обратной связи на сайтах. Причём их алгоритмы работы становятся всё более изощрёнными и те способы защиты от спама, которые работали раньше, сейчас могут не срабатывать.
Навигация по статье:
- Защита от спама для Contact form 7 при помощи поля acceptance
- Защита от спама при помощи поля quiz
- Защита от спама для Contact form 7 при помощи поля reCAPTCHA
- Видеоинструкция
Для того чтобы избавиться от этой проблемы давайте рассмотрим встроенные в Contact Form 7 способы защиты от спама.
А также научимся их устанавливать и настраивать на своём сайте.
Для этого перейдём в административную часть сайта и перейдём к редактировании формы обратной связи Contact Form 7, которая используется у вас на сайте.
В боковом меню выбираем Contact Form 7 –> Формы -> находим нужную форму и нажимаем на ссылку «Изменить» под названием этой формы.
О том как добавлять в эту форму текстовые поля, выпадающие списки и так далее я подробно рассказывала в этой статье. Если интересно, обязательно почитайте!
Защита от спама для Contact form 7 при помощи поля acceptance
Первое поле которое мы можем использовать для решения данной проблемы называется acceptance — обычно используется на сайтах для соглашения с определенными условиями сайта. Смысл работы данного поля заключается в том, что пока не будет поставлена галочка, сообщение не будет отправляться.
Для того что бы использовать данное поле для защиты от спама вы можете выставить, что бы эта галочка была по умолчанию снята и возле галочки был написан текст, например: «Поставьте галочку, если вы не робот». Таким образом, пока пользователь не поставит галочку, данные с формы не будут отправляться.
Для того чтобы вставить это поле просто щёлкаем мышкой по кнопке с его названием.
Данное поле имеет несколько настроек:
- Make this checkbox checked by default – изначально, галочка выставлена по умолчанию и пользователю не нужно выставлять ее вручную.
- Make this work inversely – если включить этот параметр, то это поле начинает работать наоборот, т.е. для того, чтобы произошла отправка формы вам нужно эту галочку не поставить, а, наоборот, убрать. Т.е. это тоже можно использовать для защиты от спама.
При необходимости вы также можете задать для этого поля идентификатор ID и класс.
Поле «Имя» оставляем без изменений.
После внесения изменений в настройки поля нажимаем кнопку «Insert Tag»
Также не забудьте написать рядом с галочкой какой то текст. Например; «С условиями ознакомлен».
Для того чтобы просмотреть как будет выглядеть это поле сохраняем форму и обновляем страницу с формой.
Защита от спама при помощи поля quiz
Следующее поле, которое можно использовать для защиты от спама – quiz. Возможно, вы встречали в формах на других сайтах, когда вам задается простой вопрос, например: « Солько будет 2 + 2?», и вам нужно ввести на него ответ.
Вставляется это поле аналогично предыдущему. Нажимаем на кнопку с названием «quiz» и вносим настройки.
Для того чтобы ввести свои вопросы и ответы, мы должны в поле «Questions and answers» написать сначала вопрос, а затем через вертикальный слэш ответ. При этом каждый вопрос должен быть написан с новой строки.
При отправке форма будет проверять, совпадает ли то, что ввел пользователь с тем ответом, который ввели вы. Если да, то будет осуществляться отправка, если нет – будет выдаваться ошибка.
После того как вы ввели все вопросы и ответы, нажимаем «Insert tag». Это могут быть не обязательно примеры, может выводиться абсолютно любой текст.
Защита от спама для Contact form 7 при помощи поля reCAPTCHA
Следующее поле для защиты от спама, это поле reCAPTCHA. Это специальный сервис Google который позволят генерировать специальные поля, которые выглядят таким образом:
В этом поле пользователю нужно поставить галочку, при этом, иногда проверка происходит сразу, а иногда еще предлагается дополнительно в открывшемся окошке выбрать картинки определенной тематике.
Для вставки данного поля на панели генерирования полей Contact form 7 нажимаем кнопку «reCAPTCHA».
Во всплывающем окне нам будет предложена ссылка с инструкцией по подключению сервиса reCAPTCHA к вашему сайту.
Переходим по этой ссылке и смотрим инструкцию.
- Первое, что нужно сделать — перейти на Google’s reCAPTCHA.
- Register your site — зарегистрировать ваш сайт.
- Get a site key and secret key – получить ключ от сайта и секретный ключ.
При переходе по предложенной ссылке нам предлагают ввести название и домен сайта, причем не адрес сайта, а только домен, без http://.
После ввода данных нажимаем на кнопку «Регистрация».
После этого нас перекинет на страницу, с которой нам нужно скопировать ключ.
Затем нам нужно перейти в админ панель сайта, пункт меню Contact Form 7 => Integration и вести полученные ключи для сайта.
Теперь можно вернуться к редактированию формы и вставить это поле.
Нажимаем на » reCAPTCHA «, и видим настройки:
Выбираем нужные значения и нажимаем «Insert Tag»
Если вы ещё не знаете как добавлять и настраивать в Contact Form 7 свои поля и создавть формы любой сложности, то обязательно почитайте статью «Настройка contact form 7. Добавление полей»
Видеоинструкция
Если у вас остались какие то вопросы, то можете посмотреть видеоинструкцию по настройке защиты от спама:
Защита от спама в комментариях без плагинов
В конце октября на моём блоге сложилась очень сложная ситуация со спамом в комментариях. С увеличением количества статей резко выросло число спамных комментариев. За сутки набиралось 100-150 сообщений. Мне даже стали жаловаться читатели, которые были подписаны на уведомления о новых комментариях, на то,что их замучили многочисленные сообщениях о новых бесполезных комментариях.
На тот момент у меня не было достаточно времени, чтобы разобраться в ситуации и найти эффективное решение проблемы, поэтому я просто настроил полную премодерацию комментариев на блоге. Но проблема осложнялась тем, что мне приходят на почту уведомления о событиях на сайте. Сами понимаете, что мой почтовый ящик был завален сотнями писем в день. Я тратил по 30-40 минут в сутки, чтобы разобраться с почтой и комментариями на блоге.
В ноябре мне всё это надоело, и я решил разобраться в сложившейся ситуации более детально. Но… В Интернете я не смог найти описание того, как работают современные спам-боты — автоматические комментаторы. Да-а-а… Как бороться с врагом, о которым ты ничего не знаешь? К счастью, у меня был собственный опыт разработки спам-ботов под WordPress, и я немного в них всё-таки разбираюсь.
Поэтому на основе своих соображений и описаний к способам борьбы со спамом я начал тестировать различные варианты. Далее опишу вам реально работающий метод, который настроен на этом блоге.
Эффективный способ защиты от автоматического спама в комментариях без каптчи
Я сразу же отказался от каптчи, так как мне этот метод совсем не нравится. Капча раздражает читателей, а хорошие спам-боты без особого труда её обходят. Стандартный для WordPress плагин akismet меня не устроил способом фильтрации спам сообщений. Комментаторы отсеиваются по IP на основе статистики от пользователей плагина.
Если комментарий несколько человек отмечают как спамный, то IP-адрес комментатора помещается в базу плагина, и затем на других сайтах комментарии с такого IP автоматически отфильтровываются в папку для спама. Иногда такая схема даёт сбои, поэтому папку со спамом приходится периодически проверять руками, чтобы случайно не удалить полезные сообщения.
Потом я в Сети нашёл более интересный метод защиты от спама. Дело в том, что спам-боты напрямую обращаются с помощью POST-запроса к странице wp-comments-post.php. В своём запросе они используют стандартные имена полей формы комментирования: author, email, url, comment и comment_post_ID. А идея метода состоит в том, чтобы создать на странице два поля ввода комментария.
Поле со стандартным именем мы спрячем от глаз пользователя с помощью средств CSS. Таким образом, реальный человек сможет заполнить только нестандартное поле, а спам-бот на страницу поста не заходит и не видит никаких изменений, нашёл стандартное поле и рад этому. Далее мы на автомате отфильтровываем сообщения, для которых заполнено поле со стандартным названием. Вот такой получился простой, но изящный подход к борьбе со спамом в комментариях к статьям.
Как это всё реализовать? Довольно легко. Если у вас современная тема WordPress, то вам нужно будет добавить несколько строк кода в файл functions.php и style.css.
Шаг 1:
а) На блоге используется современная тема, и форма для комментирования выводится с помощью функции comment_form():
// Adding a nospam field add_filter(‘comment_form_defaults’, ‘change_comment_form_defaults’); function change_comment_form_defaults($default) < $commenter = wp_get_current_commenter(); $comment_field = ‘
‘. _x( ‘Comment’, ‘noun’ ) .’
‘; $default[‘comment_notes_after’] = $comment_field . $default[‘comment_notes_after’]; return $default; > // End adding a nospam field
б) На блоге используется старая тема, и форма для комментирования выводится непосредственно в файле шаблона comments.php. Тогда нужно в файле comments.php заменить строчку:
Готово. Теперь у нас два поля для ввода текста комментария comment и human-comment.
Шаг 2:
Поле со стандартным именем мы должны скрыть, чтобы оно не мешало пользователям и не портило внешний вид блога. Для этого в файл темы style.css нужно добавить следующий код:
#comment
Также по желанию можно настроить внешний вид нового поля. Я просто класс нового поля добавил перечислением в свойства старого, чтобы всё выглядело как и до внесения изменений.
Шаг 3:
Далее в файл 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(‘Спаму нет!’, ‘Обратите внимание’, array(‘response’=>500, ‘back_link’=>true, ‘text_direction’=> ‘ltr’)); $comment_content = trim($_POST[‘human-comment’]); $_POST[‘comment’] = $comment_content; return $commentdata; >
В коде выше мы добавили к теме специальный hook (по русс. «крючок») — это специальные функции, которые позволяют настраивать поведение и работу стандартных функций WordPress на усмотрение пользователя. Перед отправкой комментария на добавление в базу данных мы проверяем, заполнено ли невидимое поле. Если оно заполнено, то это спам, и работа WordPress прекращается с ошибкой и специальным сообщением для спамеров.
Обновление от 06.04.2017. Несколько дней назад обнаружил, что перестали добавляться комментарии на блог. Оказалось, что ещё в версии WordPress 4.4.1 в январе 2016 года разработчики значительно переписали код файла wp_comments_post.php и фильтр pre_comment_on_post потерял свою актуальность.
Исправить проблему можно несколькими способами, теперь в общем нужно обрабатывать переменные POST запроса до файла wp_comments_post.php. Например, можно на JS менять обработчик формы комментариев на свой файл, в котором предварительно фильтровать переменные в POST массиве, а дальше подключать через include wp_comments_post.php.
Я выбрал другой вариант. Добавить тот же самый хук к другому экшену, например init, далее нужный код.
// Verify spam add_action( ‘init’, ‘verify_spam’ ); function verify_spam() < if($_SERVER[‘SCRIPT_NAME’] == ‘/wp-comments-post.php’) < $spam_test_field = trim($_POST[‘comment’]); if(!empty($spam_test_field)) wp_die(‘Ваш комментарий похож на спам!’, ‘Обратите внимание’, array(‘response’=>200, ‘back_link’=>true, ‘text_direction’=> ‘ltr’)); $_POST[‘comment’] = trim($_POST[‘human-comment’]);; > > // End verify spam
Если заполнено только новое видимое поле, то комментарий отправляется на стандартную обработку и добавляется в базу данных блога.
Обратите внимание на то, что новое поле ввода у меня имеет название «human-comment» в Интернете вы можете встретить примеры кодов с «real-comment» — сути это не меняет. Но я вам советую для своего блога придумать уникальное название поля ввода (можно даже случайный набор цифр). Зачем это нужно? Чтобы усилить защиту от автоматического спама.
Если на большом количестве блогов будет использоваться одно и то же название поля, то спамерам не составит большого труда перенастроить своих ботов и успешно продолжить своё серое дело. Но уникальные названия полей значительно затруднят такую процедуру и сделают её экономически невыгодной.
Этот метод позволил мне полностью избавиться от автоматического спама, и освободить дополнительное время на реализацию своих новых проектов и задумок.
Альтернативные способы защиты от спама в комментариях
- Плагин Akismet поставляется в стандартной сборке WordPress. Кроме недостатков перечисленных выше, у этого плагина есть ещё один. После удаления спам-комментария в БД остаются его мета-данные, которые её с течением времени сильно «раздувают». Возможно в свежих версиях плагина эту особенность уже исправили, не проверял, не знаю.
- Различные готовые плагины и виды каптчей. Например, Recaptcha или плагин antispam-bee. Каптча меня раздражает, а лишние плагины повышают нагрузку CMS на хостинг.
- Переименование одного из полей в форме для добавления комментариев. Это не совсем эффективный метод, многие боты его к сожалению успешно обходят.
- Переименование файла wp_comments_post.php. Не очень эффективный метод, спамеры умудряются его обойти, скорее всего, предварительно парсят значение action в форме комментариев. Также этот метод предполагает внесение изменений в код движка блога, что не есть хорошо, так как при последующем обновлении все изменения придётся вносить заново.
- Различные методы, в основе которых применяется JavaScript. Часто они неэффективны и только создают проблемы для пользователей, которые зашли на ваш сайт с отключённым JS (или их браузер элементарно не поддерживает выполнение JS).
- Премодерация комментариев. Со спамом в любом случае придётся разбираться в ручную. Также метод не подойдёт для популярных проектов, на которых ведутся активные дискуссии, так как придётся непрерывно принимать или отклонять свежие сообщения, чтобы не нарушать ход разговора между посетителями.
Добавлю ещё несколько плюсов описанного в статье метода защиты от автоматического спама.
- Бесполезные комментарии отклоняются ещё на этапе обработки, они не заполняют БД и не расходуют ресурсы хостинга.
- Защитный код легко внедряется в тему и имеет минимально необходимые настройки и функциональность.
- Сама идея с успехом может применяться не только на WordPress, но и на других популярных движках — универсальный способ борьбы с автоматическим спамом.
После включения защиты от спама мне за месяц не пришло ни одного автоматического спам-комментария. Даже блог грустно как-то стало вести. Реальные посетители меня тоже почему-то не хотят порадовать :-).
Источник: seorubl.ru