Сразу скажу: я не очень хороший программист. Это первый «настоящий» инструмент, который я написал и который (потенциально) может быть полезен людям, кроме меня. Буду рад любым вашим отзывам и критике.
Я написал скрипт на Python, который проходит по списку подозрительных и/или заблокированных пользователей и позволяет при необходимости удалить их. Я запустил его на платформе Discourse от Mozilla и удалил несколько десятков аккаунтов — и это было только после того, как я вручную удалил около сотни.
Есть несколько моментов, которые выглядят довольно «костыльно», особенно строки 174–191. Как я уже сказал, буду признателен за любые ваши замечания и с радостью отвечу на любые вопросы!
Отлично! Одна из вещей, на которую стоит обратить внимание, — это убедиться, что Akismet включён. Недавно (в течение последних 2–3 месяцев) мы добавили функцию, благодаря которой плагин Akismet сканирует новые учётные записи на наличие спама и помечает их для вас. Спасибо @Roman
Да, регистрации спамерских учётных записей полностью людьми — аккаунтов, которые никогда не делают ни одного поста, просто создают профиль с информацией и исчезают навсегда — всё ещё является проблемой. Ниже приведён пример даже после проверки через Akismet:
Однако имейте в виду, что профили пользователей вообще не индексируются, а информация в профилях новых пользователей серьёзно ограничена. И наше изменение в Akismet значительно помогает.
Тем не менее, инструмент для очистки всё ещё необходим!
Подозреваемые пользователи теперь направляются в Очередь проверки, которая удалила список подозреваемых пользователей, который использовал этот скрипт. Поскольку их переводят на ручную проверку, нужно ли это сейчас?
Наше сообщество сталкивается с несколькими ежедневными регистрациями спам-аккаунтов и ботов, у которых 0 прочитанных постов, 0 просмотренных тем и время чтения менее 1 минуты. Было бы полезно иметь функцию автоматического удаления всех аккаунтов с определёнными выбранными параметрами.
Также есть ли возможность использовать плагин Captcha или аналогичный для фильтрации ботов?
Если у этих аккаунтов нет активности, они безвредны. Они невидимы для других пользователей (включая публичный список пользователей). Кроме того, профили пользователей, независимо от их уровня доверия, исключены из robots.txt и не отображаются в результатах поисковых систем.
Кроме того, неактивные аккаунты периодически очищаются. См. настройку Очистка неактивных пользователей через N дней («Количество дней до удаления неактивного пользователя (уровень доверия 0 без каких-либо постов). Чтобы отключить очистку, установите значение 0»).
Это запускается задачей SideKiq CleanUpInactiveUsers.
Это может показаться безобидным, но в прошлом спамеры использовали такие аккаунты для «старения» своего профиля перед активацией, зная, что мы следим за новыми аккаунтами. Затем внезапно аккаунт, созданный три месяца назад, начинает пытаться ссылаться на спам или рассылать фишинговые сообщения пользователям.
Лично я хотел бы иметь более эффективные инструменты, чтобы предотвращать такие случаи до того, как они станут проблемой, а не ждать их появления. Также помогло бы наличие более мощных средств для предотвращения регистрации ботов в первую очередь.
Конечно, иногда проблема всё ещё может возникать. Я сталкиваюсь со множеством спама, но пока не видел, чтобы спам-аккаунты внезапно начинали публиковать сообщения после длительного бездействия.
Если бы они публиковали спам, другие пользователи быстро бы их отметили.
Кроме того, вы всё ещё можете значительно сократить срок, по истечении которого неактивные аккаунты удаляются.