Как сделать модераторов, которые смогут удалять "безопастно" спаммеров?
Суть какая, есть капча в виде вопроса, работает хорошо, но иногда всетаки просачиваются одиночные человеко-спамеры, где-то раз в день.
Хочется назначить модераторов, которые смогли бы их чистить. Самое простое - удаление пользователя и всех его сообщений. Для этого сделал администраторскую роль с разрешением удалять пользователей. Но как-то боязно - вдруг пароль стырят, или просто удалят не того пользователя... Как бы сделать роль с разрешением удалять пользователей у которых не больше, скажем, 10 сообщений?
Может есть более правильное решение?
Желательно удалять пользователя (чтобы он уходил из списка пользователей) и все его сообщения.
Безопасное удаление спамеров
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
-
Booker
- phpBB 2.0.7a
- Сообщения: 627
- Стаж: 15 лет 3 месяца
- Благодарил (а): 165 раз
- Поблагодарили: 21 раз
Re: Безопасное удаление спамеров
Человеко-спамеры каждый день? Что-то сильно сомнительно.
А против ботов давным-давно есть решение: Антибот 100500
А против ботов давным-давно есть решение: Антибот 100500
-
Nick
- phpBB 1.4.2
- Сообщения: 64
- Стаж: 16 лет 8 месяцев
- Откуда: СПб
- Благодарил (а): 7 раз
- Поблагодарили: 21 раз
Re: Безопасное удаление спамеров
ну может не каждый, но частенько бывают. Проблема в том, что я иногда не появляюсь пару дней, и народ жалуется.
очень похоже на человекоботов - т.к. постят по 1 сообщению, и появляются не регулярно. И бывает очень профильный спам, где точно видно - человек.
очень похоже на человекоботов - т.к. постят по 1 сообщению, и появляются не регулярно. И бывает очень профильный спам, где точно видно - человек.
-
Татьяна5
- Поддержка

- Сообщения: 13159
- Стаж: 15 лет 1 месяц
- Благодарил (а): 236 раз
- Поблагодарили: 3750 раз
Re: Безопасное удаление спамеров
Премодерация на одно сообщениеNick писал(а):постят по 1 сообщению
А чтобы не забыть потом про них, создать группу "спамеры" без всяких прав, и назначить всех модераторов лидерами этой группы (чтобы могли в группу добавлять). Удалять тогда пользователей можно будет не каждый день
-
Nick
- phpBB 1.4.2
- Сообщения: 64
- Стаж: 16 лет 8 месяцев
- Откуда: СПб
- Благодарил (а): 7 раз
- Поблагодарили: 21 раз
Re: Безопасное удаление спамеров
Для этого я слишком ленивПремодерация на одно сообщение
В общем пока оставил как писал выше... но если будут решения, буду признателен
-
Nick
- phpBB 1.4.2
- Сообщения: 64
- Стаж: 16 лет 8 месяцев
- Откуда: СПб
- Благодарил (а): 7 раз
- Поблагодарили: 21 раз
Re: Безопасное удаление спамеров
Может есть способ при удалении пользователя добавить проверку на количество его сообщений? И если их больше 10 - то запрещать? если надо будет других удалить, то можно будет уже и через mysql их потереть, или сообщения потереть и удалять
Где это лучше искать, хотя бы примерно? Надебсь там есть какая-то отдельная функция, а не что-то слишком общее для удаления записей из БД?
Где это лучше искать, хотя бы примерно? Надебсь там есть какая-то отдельная функция, а не что-то слишком общее для удаления записей из БД?
-
Shredder
- Former team member
- Сообщения: 2266
- Стаж: 17 лет 9 месяцев
- Благодарил (а): 283 раза
- Поблагодарили: 584 раза
Re: Безопасное удаление спамеров
Nick
При удалении пользователя затрагивается целая масса таблиц.
См. includes/functions_user.php, функция
При удалении пользователя затрагивается целая масса таблиц.
См. includes/functions_user.php, функция
user_delete-
Nick
- phpBB 1.4.2
- Сообщения: 64
- Стаж: 16 лет 8 месяцев
- Откуда: СПб
- Благодарил (а): 7 раз
- Поблагодарили: 21 раз
Re: Безопасное удаление спамеров
Сделал так:
Ищем
Добавляем после:
Только теперь при неудачном удалении, всеравно пишет - пользователь удален (но он не удаляется). Можно это как-то изменить, чтоб ругалось мол нельзя такого хорошего пользователя удалять?
Ищем
Код: Выделить всё
$sql = 'SELECT *
FROM ' . USERS_TABLE . '
WHERE user_id = ' . $user_id;
$result = $db->sql_query($sql);
$user_row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
if (!$user_row)
{
return false;
}
Код: Выделить всё
$sql = 'SELECT count(post_id) as count
FROM ' . POSTS_TABLE . '
WHERE poster_id = ' . $user_id;
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
$num_posts = $row['count'];
if ($num_posts>=5)
{
return true;
}-
Shredder
- Former team member
- Сообщения: 2266
- Стаж: 17 лет 9 месяцев
- Благодарил (а): 283 раза
- Поблагодарили: 584 раза
Re: Безопасное удаление спамеров
Перед
Например:
И свою языковую переменную вместо
return true; поставить соответствующий trigger_error('');Например:
Код: Выделить всё
trigger_error('LENGTH_BAN_INVALID', E_USER_WARNING);LENGTH_BAN_INVALID
