Article ID: 115082, created on Nov 2, 2012, last review on Aug 12, 2014

  • Applies to:
  • Plesk Sitebuilder

Симптомы

На опубликованном сайте страницы Блог/Форум/Гостевая книга/Регистрация переполнены спам-сообщениями. Это вызывает несколько проблем:

При попытке добавить или удалить пост в блоге возникает ошибка Operation has not been completed". Страница Гостевая книга на опубликованном сайте вообще не грузится - возникает ошибка "A server cannot be found" или "XML Parsing Error".

Причина

В состав Parallels Plesk SiteBuilder 4.5 входит модуль CAPTCHA, который является частью модулей "Блог", "Форум", "Гостевая книга" и "Регистрация". Он может быть причиной спам-атак на опубликованные сайты. Данная проблема не может быть решена по нескольким причинам:

  • Нет подтверждения того, что в этом модуле есть уязвимость. Скорее всего, мы имеем дело с явлением, описанным в этой статье: https://krebsonsecurity.com/2012/01/virtual-sweatshops-defeat-bot-or-not-tests.

  • Замена модуля CAPTCHA не решит проблему производительности для гостевых книг с большим количеством записей, не являющихся спамом; данная проблема возникает, когда база данных SQLite становится слишком большой.

  • Замена модуля CAPTCHA требует больших усилий (разработка, тестирование, упаковка пакетов, обновление продукта на стороне хостинг-провайдера, публикация сайтов конечных пользователей), но при этом не позволяет устранить саму причину проблемы.

Решение

  • Рекомендуем вам обновиться до Web Presence Builder 11 - в этой версии данная проблема отсутствует. Смотрите список доступных изданий в этой статье.

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

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

Наши разработчики подготовили специальный сценарий, который удаляет сообщения из базы данных.

  1. Скачайте этот сценарий на сервер, где опубликованы сайты, и извлеките его с помощью команды unzip:

    ~# wget http://kb.sp.parallels.com/Attachments/kcs-104/sqlite_database_truncation_script.zip
    ~# unzip sqlite_database_truncation_script.zip
    
  2. Найдите большие базы данных с помощью следующей команды:

    ~# find /<путь к папке с доменами> -name sb_modules.php -size +25M
    

    (где <путь к папке с доменами> - это путь к папке на сервере публикации, где хранятся виртуальные папки опубликованных сайтов)

  3. Сохраните резервную копию баз данных.

  4. Удалите избыточные сообщения из каждой базы данных по очереди, как показано ниже ({sqlite_db} - это полный путь к нужной базе данных):

    ~# php sqlite_database_truncation_script.php {sqlite_db}
    

Дополнительная информация

Как вручную удалить спам-сообщения из модулей Блог и Гостевая книга

Attachments

56797cefb1efc9130f7c48a7d1db0f0c fad6dc0c8e983c17ae70a51ac7952cd0

Email subscription for changes to this article
Save as PDF