Радикальный метод защиты новостного блога от спама

Владимир | | htaccess, Web разработка, WordPress.

wordpress close old posts

Представьте ситуацию. Вы ведете новостной блог, публикуете несколько постов в день, постепенно становитесь популярным 😉 . Количество комментариев постоянно растет, только спама появляется все больше…

Бороться с этим явлением можно разными способами от установки CAPTCHA до использования специальных служб вроде Akismet. Но вы находитесь в менее выгодном положении, чем большинство блоггеров. Постов очень много и естественно вы не сможете легко вспомнить, о чем шла речь полгода назад.

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

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

Именно для таких постов можно применить самый надежный метод защиты от спама – закрыть комментарии.

Сделать это можно вручную через админ-панель WordPress, но есть способ проще.

Достаточно установить плагин Close Old Posts. Он будет автоматически закрывать комментирование для старых постов.

По-умолчанию, это происходит через 14 дней с момента публикации поста. Естественно эту настройку можно изменить.

Для этого нужно открыть единственный файл плагина close-old-posts.php и изменить переменную:

$cop_days_old = 14;

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

1) Распаковываете архив в папку wp-content/plugins.

2) Активируете.

После этого форма комментирования исчезнет во всех постах старше 14 дней.

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

Даже если взять этот пост. Он вроде бы новостной, но очень сомнительно, что плагин исчезнет через месяц-другой, скорее выйдет его новая версия 😉 . А принцип работы сохранится.

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

До встречи!

Интересно почитать

InTravels- on-line журнал о путешествиях и туризме

  • Wave

    Я практически всегда у формы комментирования отрываю урл, и убиваю комментарии, в которых приходит урл в $_POST. И отправляю на модерацию комментарии, в теле которых есть ссылки. Обычно с первого взгляда становится понятным, спам или нет. часто пробел, смайлик или точку в ссылку обрамляют.
    Если комментарий при этом псевдоосмысленный, не по делу — на удаление однозначно. Если по делу, но с такими вы..крутасами — выкрутасы отрываются а комментарий оставляется. Обычно нормальный комментарий — ладно, на такой не жалко оставить ссылку.

    P.s. А вот с капчей тут лажа. Сколько будет 3+7 — ответ 10 не принят.

    • Мне тоже приходили комментарии со ссылками в смайликах. Первый раз я даже не понял почему их Akismet в спам закинул.
      А по большому счету ссылки в комментариях нужны, если они в тему.

      Сколько будет 3+7 — ответ 10 не принят

      Честно говоря, вы первый с этим столкнулись. Плагин стоит, наверное, уже месяцев 8. Никто не жаловался и я нигде не встречал нареканий на его работу.
      Может пробел случайно в строку попал?

      • Ссылки в комментариях вполне могут быть нужны, если это комментарии к статье, или там «а вот»…
        Бывают это не так часто, как спам. Модерацию руками проходят легко.
        Все остальные ссылки — это или спам в теле, что тоже легко выявляется модерацией и убивается, или ссылки в поле «урл» (вот как сейчас=). С одной стороны невежливо не давать людям заполнять это поле, они старались и писали комментарий…
        Но с другой стороны этим полем злоупотребляют куда больше, чем оно даёт преимуществ.
        Зато я могу быть уверен, что осмысленный комментарий писался не ради того, чтобы оставить ссылку, а бессмысленный — наверняка прислан тупым ботом, который даже не заметил отсутствие в форме поля «урл».

        С капчей — может и пробел пришёл, хотя я б в качестве валидации к такой капче в первую голову прицепил бы trim(). Или сессия истекла.
        Оба варианта маловероятны, глюк единичный — можно о нём забыть.

        • У модерации есть проблема — она занимает время.
          К тому же недавно пришло 2 спамерских комментария. Написаны очень неплохо, явно люди смекалку проявили 🙂 . В отношении одного я еще сомневался, а второй — вообще подозрений не вызвал. Я даже ответил на них. Спасибо, хороший человек подсказал, что это спам.
          А комментарии тупых ботов отсекаются captcha, трекбеки — akismet'ом.

          Насчет поля URL я не согласен. Злоупотребляют им действительно больше, это понятно. Но когда человек оставляет хороший комментарий, то мне всегда интересно посмотреть его сайт/блог. И ссылка в имени тут очень помогает.

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

      • Почему не могут? Иногда попадаются настоящие перлы 😉
        Я даже думал публиковать их в твиттере, но все-таки они попадаются довольно редко.
        В отдельных случаях я вообще не мог определить спам это или нет по тексту комментария. Приходилось проверять по тексту поста и другим комментариям.

  • Wave

    Я практически всегда у формы комментирования отрываю урл, и убиваю комментарии, в которых приходит урл в $_POST. И отправляю на модерацию комментарии, в теле которых есть ссылки. Обычно с первого взгляда становится понятным, спам или нет. часто пробел, смайлик или точку в ссылку обрамляют.
    Если комментарий при этом псевдоосмысленный, не по делу — на удаление однозначно. Если по делу, но с такими вы..крутасами — выкрутасы отрываются а комментарий оставляется. Обычно нормальный комментарий — ладно, на такой не жалко оставить ссылку.

    P.s. А вот с капчей тут лажа. Сколько будет 3+7 — ответ 10 не принят.

    • Мне тоже приходили комментарии со ссылками в смайликах. Первый раз я даже не понял почему их Akismet в спам закинул.
      А по большому счету ссылки в комментариях нужны, если они в тему.

      Сколько будет 3+7 — ответ 10 не принят

      Честно говоря, вы первый с этим столкнулись. Плагин стоит, наверное, уже месяцев 8. Никто не жаловался и я нигде не встречал нареканий на его работу.
      Может пробел случайно в строку попал?

      • Ссылки в комментариях вполне могут быть нужны, если это комментарии к статье, или там «а вот»…
        Бывают это не так часто, как спам. Модерацию руками проходят легко.
        Все остальные ссылки — это или спам в теле, что тоже легко выявляется модерацией и убивается, или ссылки в поле «урл» (вот как сейчас=). С одной стороны невежливо не давать людям заполнять это поле, они старались и писали комментарий…
        Но с другой стороны этим полем злоупотребляют куда больше, чем оно даёт преимуществ.
        Зато я могу быть уверен, что осмысленный комментарий писался не ради того, чтобы оставить ссылку, а бессмысленный — наверняка прислан тупым ботом, который даже не заметил отсутствие в форме поля «урл».

        С капчей — может и пробел пришёл, хотя я б в качестве валидации к такой капче в первую голову прицепил бы trim(). Или сессия истекла.
        Оба варианта маловероятны, глюк единичный — можно о нём забыть.

        • У модерации есть проблема — она занимает время.
          К тому же недавно пришло 2 спамерских комментария. Написаны очень неплохо, явно люди смекалку проявили 🙂 . В отношении одного я еще сомневался, а второй — вообще подозрений не вызвал. Я даже ответил на них. Спасибо, хороший человек подсказал, что это спам.
          А комментарии тупых ботов отсекаются captcha, трекбеки — akismet'ом.

          Насчет поля URL я не согласен. Злоупотребляют им действительно больше, это понятно. Но когда человек оставляет хороший комментарий, то мне всегда интересно посмотреть его сайт/блог. И ссылка в имени тут очень помогает.

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

      • Почему не могут? Иногда попадаются настоящие перлы 😉
        Я даже думал публиковать их в твиттере, но все-таки они попадаются довольно редко.
        В отдельных случаях я вообще не мог определить спам это или нет по тексту комментария. Приходилось проверять по тексту поста и другим комментариям.

  • Pingback: Радикальный метод защиты от спама()

  • Если новостью был какой-либо прогноз, вы таким образом лишите народ возможности сказать свое «Я же говорил» 🙂

    • Это вы точно подметили 🙂
      Правда к тому времени новость уже глубоко «зароется» (будет в десятке страниц от главной).
      Но недостаток есть недостаток. Значит нужен способ вручную отключать этот плагин для отдельных постов. Других вариантов в голову не приходит 🙂

  • Если новостью был какой-либо прогноз, вы таким образом лишите народ возможности сказать свое «Я же говорил» 🙂

    • Это вы точно подметили 🙂
      Правда к тому времени новость уже глубоко «зароется» (будет в десятке страниц от главной).
      Но недостаток есть недостаток. Значит нужен способ вручную отключать этот плагин для отдельных постов. Других вариантов в голову не приходит 🙂

  • Я думаю этот метот никаких радикальных перемен в области спама не принесёт.

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

  • Я думаю этот метот никаких радикальных перемен в области спама не принесёт.

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

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

    • На данный момент выход в общем-то один. Фильтровать автоматический спам и вручную модерировать оставленный вручную.

      Спасает то, что ручного спама значительно меньше.

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

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

    • На данный момент выход в общем-то один. Фильтровать автоматический спам и вручную модерировать оставленный вручную.

      Спасает то, что ручного спама значительно меньше.

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

  • Закрытие комментариев-это не выход.Спамеров действительно очень много!Все выше описанные действия очень действенны,когда применяются вместе.Но это не каждый может себе позволить!

    • Я не предлагаю вообще закрывать комментарии. Просто на новостных сайтах активность настоящих комментаторов в постах годичной давности практически нулевая.

  • Закрытие комментариев-это не выход.Спамеров действительно очень много!Все выше описанные действия очень действенны,когда применяются вместе.Но это не каждый может себе позволить!

    • Я не предлагаю вообще закрывать комментарии. Просто на новостных сайтах активность настоящих комментаторов в постах годичной давности практически нулевая.

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

    • Согласен. Например, на этом блоге я комментарии закрывать не собираюсь 🙂
      Но если контент полностью теряет актуальность со временем, то может быть полезно.

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

    • Согласен. Например, на этом блоге я комментарии закрывать не собираюсь 🙂
      Но если контент полностью теряет актуальность со временем, то может быть полезно.

  • Самый простой способ — закрыть комменты тем, кто пишет их через проксю.
    Для этого в файле .htaccess пишем следующее:
    RewriteCond %{HTTP:VIA}%{HTTP:FORWARDED}%{HTTP:USERAGENT_VIA}%{HTTP:X_FORWARDED_FOR}%{HTTP:PROXY_CONNECTION} !^$ [OR]

    RewriteCond %{HTTP:XPROXY_CONNECTION}%{HTTP:HTTP_PC_REMOTE_ADDR}%{HTTP:HTTP_CLIENT_IP} !^$

    RewriteCond %{REQUEST_URI} !^/(wp-login.php|wp-admin/|wp-content/plugins/|wp-includes/).* [NC]

    RewriteCond %{REQUEST_METHOD} =POST

    RewriteRule .* — [F,NS,L]

    Эта конструкция будет давать ошибку при попытке оставить комментарий используя прокси-соединение. Читать, кстати, она не мешает.
    Вот это РЕАЛЬНО радикальное решение 🙂

    • Действительно, радикальный способ.
      Особенно для тех, кто читает блоги на работе (из-за прокси) 🙂

  • Самый простой способ — закрыть комменты тем, кто пишет их через проксю.
    Для этого в файле .htaccess пишем следующее:
    RewriteCond %{HTTP:VIA}%{HTTP:FORWARDED}%{HTTP:USERAGENT_VIA}%{HTTP:X_FORWARDED_FOR}%{HTTP:PROXY_CONNECTION} !^$ [OR]

    RewriteCond %{HTTP:XPROXY_CONNECTION}%{HTTP:HTTP_PC_REMOTE_ADDR}%{HTTP:HTTP_CLIENT_IP} !^$

    RewriteCond %{REQUEST_URI} !^/(wp-login.php|wp-admin/|wp-content/plugins/|wp-includes/).* [NC]

    RewriteCond %{REQUEST_METHOD} =POST

    RewriteRule .* — [F,NS,L]

    Эта конструкция будет давать ошибку при попытке оставить комментарий используя прокси-соединение. Читать, кстати, она не мешает.
    Вот это РЕАЛЬНО радикальное решение 🙂

    • Действительно, радикальный способ.
      Особенно для тех, кто читает блоги на работе (из-за прокси) 🙂

  • Уже давно работаю в сфере раскрутки новостных блогов и точно могу сказать что действенного метода борьбы со спамом пока никто непридумал((

  • Уже давно работаю в сфере раскрутки новостных блогов и точно могу сказать что действенного метода борьбы со спамом пока никто непридумал((

  • Проще зарыть все в ноуиндекс и ноуфолов

    • Не всегда помогает, часто спам приходит не смотря на эти директивы.

  • Проще зарыть все в ноуиндекс и ноуфолов

    • Не всегда помогает, часто спам приходит не смотря на эти директивы.

  • Да метод защиты серьезный…

  • Да метод защиты серьезный…