Защита сайта BuddyPress от регистраций спам-ботов

Те, у кого установлен WordPress MU и BuddyPress с включенной регистрацией, давно заметили, что достаточно быстро боты узнают каким-то образом о вашем сайте и начинают атаку, которая заключается в массовой регистрации спам-пользователей, которые создают блоги и иногда даже публикуют в них записи.

Получается, что из 100 пользователей, при полном отсутствии ручной чистки, до 60% (иногда больше) – боты. Вычисляются они достаточно легко – у них имена даже вообще не читаемые, хотя не всегда все же. Поэтому найти и удалить их можно без проблем. Но кому хочется этим периодически заниматься? Правильно, только мазохистам.

Поэтому я нашел способ, адаптированный для BuddyPress, защиты вашей социальной сети от левых регистраций. Он достаточно прост и потребует от вас минуты 2 на все про все.

1. Открываем файл .htaccess, который находится в корне вашего WPMU сайта правильным редактором.

2. Перед #uploaded files вставляем следующее:

# BEGIN ANTISPAMBLOG REGISTRATION
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .register*
RewriteCond %{HTTP_REFERER} !.*yourhomedomain.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) http://die-spammers.com/ [R=301,L]
# END ANTISPAMBLOG REGISTRATION

3. Редактируем yourhomedomain на имя вашего домена.

В чем суть данного метода? При попытке спаммера зарегистрироваться, его будет перебрасывать на несуществующий домен die-spammers.com. Определение, является ли пользователь спаммером, осуществляется по наличию идентификатора user-agent. Если он пустой – то это бот (в 99% случаях).

Вот и все. Никаких плагинов, хаков, редактирования php файлов. Ничего более. Пользуйтесь.

комментария 25

  1. максим:

    сделал, как написал, вот только yourhomedomain надо писать как vanicon или vanicon.ru и оставлять звездочки или нет*vanicon*

  2. Надо писать vanicon.ru, чтобы стало !.*vanicon.ru.* [OR]

  3. максим:

    спасибо , исправил, а вот как проверить работает ли

  4. просто подождать :) У меня на демо сайте не прошло еще ни одного спаммера-регистратора.

  5. Насколько я понял, дра есть еще в bbpress. возможно регистрируются через него и синхронизируется с базой БП. Поправьте если я ошибаюсь

  6. @BRED:
    Да, если найдут форум, то могут и через него. Поэтому ставьте плагин для bbPress, которые исправят это.

  7. Я не понял, а что если человек пришел с поисковика или любого другого сайта ?
    RewriteCond %{HTTP_REFERER} !.*yourhomedomain.* [OR]

    будет неправильное перенаправление

  8. Не понял, а почему неправильное перенаправление? Ведь User-agent у него есть? У любого пользователя он есть. Только у некоторых (только некоторых!) ботов его нет. Ну и почти у всех спаммеров.

  9. на Demo.cosydale.com – есть каптча для регистрации.. где можно взять?:) а то Register Plus – он если напрямую пытаться зарегистрироваться на блоге…

    Заранее спасибо!

  10. @Александр:
    В рубрике Плагины есть все, что вам надо :) Седьмой пост сверху.

  11. wcp:

    Не помогает. Эту фичу я прописал еще месяца два назад. Сначала вроде попустило, а потом всё вернулось на круги своя: масса регистраций ников/блогов с именами типа fritrathothutr, emobwahaha, stuchemetriduc, brucefinley1966 и т.д. Базу, твари, раздувают своими бесполезными регами, +8 таблиц каждый раз…

  12. wcp,
    а регистрация через активацию?..

    тупые боты не могут получать почту и активировать свои логины :)

  13. @Александр:
    Они могут через форум или напрямую с файлом wp-signup.php работать.

    @wcp:
    Прочти:
    http://perishablepress.com/press/2009/12/22/protect-wordpress-against-malicious-url-requests/
    http://perishablepress.com/press/2009/03/16/the-perishable-press-4g-blacklist/
    Может помочь.

  14. slaFFik,
    а если делать редирект?..

    • Александр,
      Редирект с какой страницы? Типа сделать копию файла wp-signup в файл reg.php (к примеру) и в htaccess сделать перенаправление на этот новый? Вариант…

  15. wcp:

    Пролистал свои списки блогов/юзеров и собрал адреса, с которых в основном регались спамеры. Внес в черный список в “параметрах” – с начала года ни одного мусорной регистрации:

    pisem.net
    myspacee.info
    emaildesechable.info
    trikapalanet.net
    raffinato.fr
    iwantmail.org
    sellthenrent.org.uk
    mysace.info
    host-a-site.info
    onlq.com
    alabonnebranlette.com

  16. wcp,
    ТТТ ни одной мусорной :)

    slaFFik,
    /wp-login.php, или на /registration

  17. @wcp:
    Круто, список хороший! СПАСИБО!!!

    @Александр:
    Что такое ТТТ?
    И на registration лучше, по-моему.

  18. N13:

    U menya naverno ne rabotaet ( .. shto ya ne tak delal . please help

  19. James:

    для последних версий WP и BP это все еще актуально или нет?

    спасибо!

  20. А как же быть с тем что уже давно спам-боты передают в заголовок header параметр user-agent? Неужели нету качественного решения с борьбой по регистрации ботов? ((((

  21. Не понимаю, про какую папку тут речь? Какой именно .htaccess? В какой папке? Явно не про корень сайта.
    “Открываем файл .htaccess, который находится в корне вашего WPMU сайта правильным редактором.” – что за папка такая WPMU? У меня такой нет.
    Если речь о плагине, то где ссылка на него? В поиске WP под этим ключом очень много всего.
    Можно описать подробнее?
    Спасибо.

    • .htaccess в корне сайта – как в посте и написано – в корне сайте.
      WPMU – это то, что было до WP 3.0, сейчас это называется WPMS.
      Ни о каком плагине речи не идет.
      Написано и так подробно.

Добавить комментарий

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