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

  • Applies to:
  • Plesk Sitebuilder


Blog/Forum/Guestbook/Registration pages of a published site are overloaded with spam messages. This causes several problems:

When trying to add/remove a post from the blogs page, this does not remove and a "Error! Operation has not been completed" error appears. The "Guestbook" page on the published website does not load at all - "A server cannot be found" or "XML Parsing Error" errors appear after a long time.


The CAPTCHA module of Parallels Plesk SiteBuilder 4.5 is part of modules Blog, Forum, Guestbook, and Registartion. It may cause spam attacks to published websites. The existing CAPTCHA module will not be changed for several reasons:

  • There is no proof of vulnerability in this module; on no checked sites is the process automated. Most likely, we are observing the results of CAPTCHA-solving teams working as described in the following article:

  • CAPTCHA module replacement will not address the performance issue for guest books with a high number of valid records; the issue appears when the SQLite database becomes too big.

  • CAPTCHA replacement is the most expensive solution in terms of required efforts (development, testing, packaging, product update on Hosting Provider side, end-user site re-publishing), while it does not address the root cause.


Meanwhile, the only solution is to remove/clear messages in the Blog/Guestbook on problem sites manually.

The development team has provided a script that removes messages from the database.

  1. To apply the solution, download the script to the server where sites are published and extract it with the "unzip" command:

    ~# wget
    ~# unzip
  2. Find large databases using the following command:

    ~# find /PATH/TO/DOMANIS/DIRECTORY -name sb_modules.php -size +25M

    (where /PATH/TO/DOMANIS/DIRECTORY is the directory on the publishing host where virtual directories of the published sites are stored)

  3. Create a backup for the databases prior to truncation.

  4. Truncate databases one by one by calling the provided script like below (where {sqlite_db} is the full path to the database in question):

    ~# php sqlite_database_truncation_script.php {sqlite_db}

Additional information

[How to] How to remove spam messages from modules Blog/Guestbook on site manually

Search Words



Error! Operation has not been completed



56797cefb1efc9130f7c48a7d1db0f0c fad6dc0c8e983c17ae70a51ac7952cd0

Email subscription for changes to this article
Save as PDF