А можно ли сделать не удаление постов, а перенос в тему с заданным topic_id?
Я хочу сохранить все эти мерзские посты, чтобы злыдень когда-нибудь за это ответил.
Спамеры атакуют - как за раз убить или перенести все посты с одного IP? Тема решена
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
-
servina
- phpBB 1.2.0
- Сообщения: 16
- Стаж: 18 лет 9 месяцев
-
Sheer
- Former team member
- Сообщения: 12113
- Стаж: 19 лет 7 месяцев
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 54 раза
- Поблагодарили: 2756 раз
Re: Спамеры атакуют - как за раз убить или перенести все посты с одного IP?
В php все можно. Курите функцию
Отправлено спустя 1 минуту 44 секунды:
Не проще ли заблокировать айпишник? Прям на уровне .htaccess
function move_posts($post_ids, $topic_id, $auto_sync = true) - includes/functions_admin.phpОтправлено спустя 1 минуту 44 секунды:
Не проще ли заблокировать айпишник? Прям на уровне .htaccess
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
-
servina
- phpBB 1.2.0
- Сообщения: 16
- Стаж: 18 лет 9 месяцев
Re: Спамеры атакуют - как за раз убить или перенести все посты с одного IP?
Я правильно поняла, что в Вашем скрипте
нужно поменять на
и будет мне счастье?
P.S. IP-шник заблокировать не проще. Он может меняться. Вообще на будущее мне будет полезно переносить спамные сообщения в накопительную тему. Я смогу сортировать не только по IP, но и ещё как-нибудь в первом селекте. Замучалась уже ручками чистить. А в этот раз вообще экстремально заспамили.
Код: Выделить всё
foreach($rowset as $data)
{
delete_post($data['forum_id'], $data['topic_id'], $data['post_id'], $data);
print "Post " . $data['post_id'] . " deleted<br />";
}
Код: Выделить всё
foreach($rowset as $data)
{
move_posts($data['post_id'], 4321); // 4321 - topic_id накопительной темы
//delete_post($data['forum_id'], $data['topic_id'], $data['post_id'], $data);
print "Post " . $data['post_id'] . " deleted<br />";
}
P.S. IP-шник заблокировать не проще. Он может меняться. Вообще на будущее мне будет полезно переносить спамные сообщения в накопительную тему. Я смогу сортировать не только по IP, но и ещё как-нибудь в первом селекте. Замучалась уже ручками чистить. А в этот раз вообще экстремально заспамили.
-
Sheer
- Former team member
- Сообщения: 12113
- Стаж: 19 лет 7 месяцев
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 54 раза
- Поблагодарили: 2756 раз
Re: Спамеры атакуют - как за раз убить или перенести все посты с одного IP?
Нет.
$post_ids - это не переменная, а массив.При переносе все проще. Нужно просто заполнить массив
$post_ids
Код: Выделить всё
while($row = $db->sql_fetchrow($result))
{
$post_ids[] = $row['post_id'];
}Ну и sql-запрос такой городить не нужно. Такого достаточно
Код: Выделить всё
$sql = 'SELECT post_id
FROM ' . POSTS_TABLE . '
WHERE poster_ip LIKE \'' . $ip . '\'';Код: Выделить всё
include($phpbb_root_path . 'includes/functions_admin.php.' . $phpEx);Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
-
servina
- phpBB 1.2.0
- Сообщения: 16
- Стаж: 18 лет 9 месяцев
Re: Спамеры атакуют - как за раз убить или перенести все посты с одного IP?
А по-моему $post_ids может быть как переменной так и массивом!
Функция сама смотрит и если надо, делает массив:
Отправлено спустя 5 минут 27 секунд:
Я склоняюсь просто заменить delete_post на move_posts (если это заработает!)
Потому что Ваш скрипт очень ценный и я смогу его по разному использовать в зависимости от настроения
Иногда удалять, иногда переносить в накопительную тему. Достаточно закомментировать одну функцию и раскомментировать другую.
Если конечно я права по вопросу, что $post_ids может быть как массивом так и переменной.
Отправлено спустя 59 минут 31 секунду:
Вставила move_posts и все посты злыдня перенесла!
Слава Sheer'у - великому человечищу!
Огромное спасибо!
Функция сама смотрит и если надо, делает массив:
Код: Выделить всё
function move_posts($post_ids, $topic_id, $auto_sync = true)
{
global $db;
if (!is_array($post_ids))
{
$post_ids = array($post_ids);
}
Я склоняюсь просто заменить delete_post на move_posts (если это заработает!)
Потому что Ваш скрипт очень ценный и я смогу его по разному использовать в зависимости от настроения
Иногда удалять, иногда переносить в накопительную тему. Достаточно закомментировать одну функцию и раскомментировать другую.
Если конечно я права по вопросу, что $post_ids может быть как массивом так и переменной.
Отправлено спустя 59 минут 31 секунду:
Вставила move_posts и все посты злыдня перенесла!
Слава Sheer'у - великому человечищу!
Огромное спасибо!

