Как удалить все комментарии в Drupal

Вот такая ситуация возникла сегодня. Совершенно аномальный рост посещаемости, судя по статистике Google Analytics.

аномальный рост посещаемости

Оказалось, что на одном иностранном форуме рассказали, что один из моих сайтов можно спамить. И дали ссылки. Сайт достаточно быстро загадили, оставив порядка 5000 спам-комментов. Вручную удалять их я не стал, пришлось поискать решение.

Решение простое, правда не универсальное. Вот такой SQL код удаляет все комменты в Drupal:

DROP TABLE comments;
CREATE TABLE comments (
cid int(10) NOT NULL auto_increment,
pid int(10) NOT NULL default '0',
nid int(10) NOT NULL default '0',
uid int(10) NOT NULL default '0',
subject varchar(64) NOT NULL default '',
comment longtext NOT NULL,
hostname varchar(128) NOT NULL default '',
timestamp int(11) NOT NULL default '0',
score mediumint(9) NOT NULL default '0',
status tinyint(3) unsigned NOT NULL default '0',
format int(4) NOT NULL default '0',
thread varchar(255) NOT NULL,
users longtext,
name varchar(60) default NULL,
mail varchar(64) default NULL,
homepage varchar(255) default NULL,
PRIMARY KEY (cid),
KEY lid (nid)
) TYPE=MyISAM;

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


Бесплатный обмен ссылками с блогами с хорошими показателями.

Гена, лучше не убивать все

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

Для этого определи промежуток времени, в который попадают неугодные тебе комментарии, преобразуй их в UNIX-формат.

И потом запрос
DELETE FROM comments WHERE ((timestamp > %НАЧАЛО_НЕУГОДНОГО_ПРОМЕЖУТКА%) AND (timestamp < %КОНЕЦ_НЕУГОДНОГО_ПРОМЕЖУТКА%))

Вау, спасибо за дополнение.

Вау, спасибо за дополнение. Будет полезным.

можно проще - через

можно проще - через phpmyadmin выделить галочкой таблицу и применить "Очистить"

это равнозначно запросу:
TRUNCATE `comments`;

Недавно хостер

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

Это не поможет, физически

Это не поможет, физически комменты остаются в базе,
и загаживают дисковый ресурс.

Не-не, вы лучше про SEO

Не-не, вы лучше про SEO пишите.

А что именно вас интересует?

А что именно вас интересует?

А меня больше интересует, как

А меня больше интересует, как именно это преподнесли на иностранном форуме и какая защита стояла от спам-комментов?

Касательно Drupal этот подход

Касательно Drupal этот подход не приемлем) вообще.
т.к. Вы не учли таблицу node_comment_statistics.

На выходе, в ноде будет стоять кол-во комментариев 10, а на самом деле Вы их жестоко вырезали)

Подпишись на RSS