Я наблюдаю небольшое, но стабильное количество спамерских аккаунтов, создаваемых ежедневно на моем форуме Discourse. Многие из них, по-видимому, используют поддельные или недействительные адреса электронной почты.
Я ищу способ автоматизировать следующий процесс:
- Новый пользователь создает аккаунт, и Discourse отправляет ему письмо с активацией/подтверждением.
- Если письмо с активацией приводит к подтвержденному жесткому отбою (hard bounce), неактивированный пользовательский аккаунт автоматически удаляется.
- Система записывает домен адреса электронной почты, вернувшегося с отбоем.
- Если несколько новых аккаунтов, использующих один и тот же домен, приводят к жестким отбоям в течение определенного периода времени, этот домен автоматически добавляется в список заблокированных доменов электронной почты.
- Распространенные легитимные почтовые провайдеры, такие как Gmail, Outlook, Yahoo и т. д., должны быть исключены из автоматической блокировки доменов.
Например, если в течение нескольких дней будет создано несколько аккаунтов с разными адресами электронной почты из домена suspicious-domain.example, и все письма с активацией для них вернутся с жестким отбоем, этот домен в конечном итоге будет заблокирован для создания новых аккаунтов.
Цель состоит в том, чтобы использовать данные об отбоях как дополнительный сигнал для выявления автоматизированных спамерских регистраций, одновременно автоматически очищая неактивированные аккаунты, созданные с несуществующими адресами электронной почты.
Существует ли в настоящее время в Discourse плагин или встроенная функциональность, которая может это обеспечить? Если нет, доступны ли хуки в процессе обработки отбоев Discourse, которые можно было бы использовать для создания плагина, реализующего эту функциональность?