В последнее время у нас наблюдается массовая регистрация с адресами электронной почты, похожими на @services.cn, которые заполняют очередь нашего MTA недоставленными сообщениями.
Discourse не поддерживает подстановочные знаки в списке заблокированных доменов электронной почты, поэтому прямая блокировка целых шаблонов доменов, таких как @services.cn, невозможна. Однако вы можете предпринять несколько мер для уменьшения или предотвращения таких спам-атак при регистрации:
Уменьшите «макс. количество новых аккаунтов с одного IP»
Установите этот параметр на 1 или другое низкое значение, чтобы ограничить количество новых аккаунтов, которые могут быть созданы с одного IP-адреса. Это помогает предотвратить массовую регистрацию с одного IP и очень эффективно во время атаки.
Включите hCaptcha при регистрации
Добавьте проверку CAPTCHA к форме регистрации, включив плагин Discourse hCaptcha. Это усложнит работу ботов и автоматизированной регистрации и доступно во всех тарифных планах хостинга.
Вручную заблокируйте известные вредоносные домены
Хотя подстановочные знаки не поддерживаются, вы можете явно добавить проблемные домены в список «заблокированных доменов электронной почты».
Требуйте одобрения новых пользователей
Временно включите настройку «требовать одобрения пользователей». Это поместит все новые регистрации в очередь модерации для ручного одобрения.
Это разумное решение! Какой именно wildcard сработал?
Интересно, почему это не сработало? Возможно, есть смысл рассмотреть возможность поддержки wildcard, хотя я могу представить, что их очень легко настроить неправильно, из-за чего ваш сайт станет недоступным для всех!
Я ответил по почте, но не вижу своего ответа здесь. Сейчас нет времени его искать, а веб-интерфейс не позволяет просто вставить текст с сохранением форматирования (я это ненавижу!), так что вам придётся догадываться
@strk, возможно, вы не знакомы с тем, как работает предформатированный текст в Discourse. Есть несколько способов сделать это, и это довольно мощный инструмент, когда вы научитесь им пользоваться. См.: Posting code or preformatted text
@tobiaseigen есть небольшая ошибка: если я скопирую этот регулярный выражение как текст и вставлю его в Discourse, оно исказится до /.@service...cn/ (обратные слеши пропадают).
То, что вы видите, — это не ошибка, а ожидаемое поведение Markdown. Два звездочки, окружающие текст, отображают его как курсив. Поскольку в нём есть @, он показывается как некорректное имя пользователя @username. Как только вы заключите регулярное выражение в обратные кавычки, оно отобразится как предварительно отформатированный текст:
Курсив с именем пользователя: /.@service...cn/
Предварительно отформатированный текст: /.*@service\..*\.cn/
Да, я могу воспроизвести описанную вами проблему, используя редактор форматированного текста. Попробуйте сначала переключиться на редактор Markdown, и всё заработает. Не уверен, можно ли что-то с этим сделать.