Советы по предотвращению спама

:bookmark: Эта документация предоставляет полное руководство по предотвращению спама в форумах Discourse и включает информацию о различных настройках и инструментах, предназначенных для поддержания среды сообщества без спама.

:person_raising_hand: Требуемый уровень пользователя: Администратор

На большинстве форумов спам встречается редко. Однако, если на вашем сайте возникают проблемы со спамом, Discourse предлагает множество инструментов для его автоматического предотвращения.

Следующее руководство содержит рекомендации о том, как помочь предотвратить спам, сохраняя при этом позитивную и приветливую атмосферу для вашего сообщества.

Обнаружение спама с помощью Discourse AI

Обнаружение спама с помощью AI — одна из лучших функций Discourse для автоматического выявления спама. В отличие от других инструментов, она может автоматически блокировать пользователей и сообщения на основе предварительно настроенных правил. Обнаружение спама с помощью AI доступно всем пользователям на хостинге Discourse, а также на самохостинговых сайтах с настроенной большой языковой моделью (LLM).

Преимущества обнаружения спама с помощью AI включают:

  • Автоматизация: Не требуется ручное вмешательство для блокировки очевидного спама.
  • Настраиваемость: Вы можете адаптировать его под уникальные потребности вашего сообщества.
  • Масштабируемость: Эффективно работает даже при массовых спам-атаках на сообщество.
  • Широкая совместимость: Бесплатно (на хостинге Discourse) и бюджетные LLM, такие как GPT-4, Claude 3.5 и Gemini Flash, могут эффективно обрабатывать обнаружение спама.

Настройка обнаружения спама с помощью AI

:megaphone: Это теперь включено по умолчанию для клиентов Starter и Standard

Просто включите его в настройках администратора → плагины → AI → Обработка спама (подробности здесь).

По умолчанию используется промпт, адаптированный Discourse для наших сайтов, но вы можете добавить собственные инструкции, специфичные для вашего сайта.

Пример адаптированного промпта

:information_source: С помощью Discourse AI вы также можете использовать творческого AI-бота для генерации адаптированных промптов, специфичных для потребностей вашего сайта.

Уровни доверия по умолчанию

Уровень доверия по умолчанию для новых пользователей на вашем сайте можно настроить на странице .../admin/site_settings/category/trust, однако мы рекомендуем оставлять уровень доверия по умолчанию установленным на 0.

Если вы изменили значение этой настройки, мы настоятельно рекомендуем вернуть его к значению 0: новый пользователь, так как изменение этой настройки может подвергнуть ваш сайт серьезному риску спама из-за того, как уровни доверия взаимодействуют с настройками, связанными со спамом в Discourse.

Настройки сайта, связанные со спамом

:warning: Если у вас нет конкретных проблем со спамом, мы рекомендуем оставлять следующие настройки по умолчанию.

В Discourse есть несколько настроек сайта, связанных со спамом, к которым вы можете обратиться на странице .../admin/config/spam вашего сайта.

Эти настройки можно изменить, чтобы увеличить или уменьшить чувствительность обнаружения спама и строгость последствий, связанных с публикацией спама.

Ниже приведены некоторые из наиболее часто изменяемых настроек, связанных со спамом, которые оказывают заметное влияние на то, как спам обрабатывается на сайте.

Значения по умолчанию для всех настроек показаны ниже.

Скрытие сообщений

Настройки чувствительность скрытия сообщений и время ожидания в минутах после скрытия сообщений контролируют вероятность того, что помеченное сообщение будет автоматически скрыто Discourse, и как долго пользователь должен ждать, прежде чем сможет отредактировать помеченное и скрытое сообщение.

Заглушение новых пользователей

В Discourse есть настройка сайта количество пользователей для заглушения нового пользователя, которая автоматически заглушает нового пользователя, если его сообщения помечены как спам определенным количеством уникальных пользователей.

По умолчанию это значение равно 3, поэтому, если вы постоянно сталкиваетесь со спамом от одного и того же пользователя (пользователей), возможно, стоит уменьшить это значение.

Ограничение ссылок

Discourse ограничивает количество сообщений, которые новый пользователь может опубликовать со ссылками на внешний домен, с помощью настройки порог спама новых пользователей по хосту. Если новые пользователи на вашем сайте часто рассылают спам со ссылками на один и тот же домен, возможно, стоит уменьшить значение этой настройки.

Ограничение IP-адресов

Discourse ограничивает количество новых аккаунтов, которые пользователь может создать с любого данного IP-адреса. Если вы обнаружите, что проблемные пользователи на вашем сайте неоднократно создают аккаунты для спама, вы можете рассмотреть возможность уменьшения этого значения по умолчанию.

Также есть флажок помечать подставных лиц, который вы можете включить, чтобы предотвратить создание пользователями нескольких аккаунтов и комментирование ими одной и той же темы:

Кроме того, вы можете вручную проверить IP-адреса проблемных пользователей на их странице администратора в полях Последний IP-адрес и IP-адрес регистрации и удалить другие аккаунты, связанные с тем же IP-адресом.

Или рассмотрите возможность блокировки IP-адресов, которые используют спамеры, на странице «Журналы → Отфильтрованные IP-адреса» (.../admin/logs/screened_ip_addresses):

Настройка требований к отметкам

По умолчанию тема должна быть помечена 5 уникальными пользователями, прежде чем Discourse автоматически приостановит публикацию в этой теме.

Вы можете изменить настройку сайта количество отметчиков для закрытия темы, чтобы увеличить или уменьшить количество отметчиков, необходимых для приостановки публикаций в теме, и изменить настройку чувствительность автоматического закрытия темы, чтобы изменить вероятность того, что рассматриваемая тема будет автоматически закрыта.

Отслеживаемые слова

Отслеживаемые слова — еще одна отличная функция для блокировки или ограничения сообщений, содержащих слова, фразы или URL-ссылки, которые спамеры могут использовать повторно.

Рассмотрите возможность добавления некоторых «Заблокированных» или «Заглушенных» слов на ваш сайт, если вы обнаружите, что спамеры часто используют одни и те же типы текста в своих сообщениях.

Для более продвинутого использования отслеживаемых слов вы также можете рассмотреть возможность использования регулярных выражений с отслеживаемыми словами.

Повышение требований к уровням доверия

Если вы обнаружите, что спам исходит в основном от пользователей уровня TL0, вы также можете изменить некоторые настройки уровней доверия, чтобы усложнить достижение уровня TL1:

Плагин hCaptcha

Плагин Discourse hCaptcha направлен на повышение безопасности и защиты от ботов путем интеграции hCaptcha в локальную форму регистрации.

:sparkles: На всех хостинговых сайтах Discourse этот плагин автоматически включен.

Дополнительные шаги

Понимание причин, по которым пользователи спамят на вашем сайте, важно. Им скучно, они действуют со злым умыслом или хотят продвигать себя?

Рекомендации по работе с проблемными пользователями, а также по другим темам модерации можно найти в руководстве по модерации Discourse, поэтому вам может быть полезно прочитать это руководство, чтобы получить дополнительные идеи по модерации вашего сайта.

Помимо вышеперечисленного, временное усиление команды модераторов для обеспечения полного покрытия — еще один хороший подход к борьбе со спамом. Главное — измотать проблемных пользователей, чтобы им стало скучно, и они ушли.

Если после прочтения этого руководства у вас по-прежнему возникают проблемы со спамом, вы также можете рассмотреть возможность помещения всех или некоторых сообщений от новых пользователей в очередь проверки с помощью настроек утверждать количество сообщений, утверждать, если не разрешены группы или утверждать новые темы, если не разрешены группы:

Настройка утверждать, если не разрешены группы требует утверждения сообщений, созданных пользователями, не входящими в указанные группы. Сообщения, созданные администраторами и модераторами, всегда утверждаются.

Настройка утверждать новые темы, если не разрешены группы требует утверждения новых тем, созданных пользователями, не входящими в указанные группы. Темы, созданные администраторами и модераторами, всегда утверждаются.

Однако важно убедиться, что у вас достаточно модераторов для обработки этого, так как это может потенциально затруднить новым пользователям начало взаимодействия с сайтом, если сообщения не утверждаются.

18 лайков

Я не могу говорить за все форумы, но на том, где я был участником с уровнем TL3, при каждом входе в день в отслеживаемых категориях всегда оставался хотя бы один спам-пост. А на том, где я сейчас модератор, в среднем появляется около двух спам-постов в день. Поэтому, судя по этому, я считаю, что спам довольно распространён на многих форумах.

5 лайков

Одно очень полезное регулярное выражение — \d{3}-\d{4}|[\w+\-.]+@[a-z\d\-]+(\.[a-z\d\-]+)*\.[a-z]+, которое блокирует адреса электронной почты и номера телефонов. Не забудьте включить настройки — публикация — «регулярные выражения для наблюдаемых слов».

7 лайков

Привет :wave:

Я активно использую эти советы на своём форуме, так что… спасибо! :heart:

Есть ли настройка, которую можно включить, чтобы отправлять в очередь на проверку только новых пользователей, регистрирующихся, например, с домена gmail.com?

В настоящее время все новые пользователи отправляются в очередь на проверку, но я заметил, что большинство спам-аккаунтов создаются с использованием адреса Gmail. Отправка только таких пользователей на проверку снизила бы нагрузку и время проверки, по крайней мере для меня :sweat_smile:

1 лайк

@SaraDev Вы знаете, возможно ли это? Мне тоже было бы интересно узнать, так как это было бы очень полезно для блокировки не только IP-адресов, но и конкретных доменов!

1 лайк

В базовом функционале Discourse нет возможности отправлять сообщения только от пользователей с определённого домена (например, gmail.com) в очередь на проверку.

Ближайшей аналогией является настройка сайта auto approve email domains (автоматическое одобрение доменов электронной почты), которая позволяет пользователям с определённых доменов электронной почты обходить процесс ручной проверки, автоматически одобряя их.

Также существуют настройки blocked email domains (заблокированные домены электронной почты) и allowed email domains (разрешённые домены электронной почты), которые позволяют ограничить или контролировать регистрацию на вашем сайте на основе доменов электронной почты:

Однако все эти настройки требуют включения параметра must approve users (необходимо одобрять пользователей) и влияют только на первоначальную регистрацию пользователей на сайте, а не на взаимодействие между созданием сообщений и очередью на проверку.

В качестве обходного решения можно использовать Groups (Группы) для реализации аналогичной функциональности. Например, вы можете создать пользовательскую группу и автоматически добавлять в неё пользователей, регистрирующихся с определённым адресом электронной почты, а затем добавить эту группу в настройки approve unless allowed groups (одобрять, если не входит в разрешённые группы) и approve new topics unless allowed groups (одобрять новые темы, если не входит в разрешённые группы).

При такой настройке вы сможете эффективно обходить очередь на проверку для пользователей с определённым доменом, при этом, при желании, отправляя другие сообщения в очередь на проверку.

2 лайка

Привет! Подскажите, пожалуйста, можно ли принудительно включить капчу при создании темы и/или поста?

Не знаю, но если бот может обходить капчу при входе, то он сможет делать то же самое и при публикации.

Верно, но, похоже, есть поддержка капчи для регистрации, поэтому я хотел узнать, есть ли аналогичная функция для создания тем/сообщений.

В последнее время мы наблюдали несколько случаев масштабных спам-атак на наших клиентов. Общим у всех них было то, что они разрешили всем пользователям создавать сообщения в одной или нескольких категориях, обойдя все ограничения уровней доверия.

Для опытных администраторов Discourse очевидно, что это плохая идея, но для менее опытных это может быть не так. Поэтому, возможно, стоит сформулировать то, что для нас очевидно, и добавить это в начало темы.

7 лайков

В последнее время мы сталкиваемся со спамерами, которые используют автоматическую регистрацию, а затем пытаются создавать новые темы с контентом, сгенерированным ИИ. Он выглядит как настоящие запросы совета, но содержит партнерские ссылки Amazon. Обычно они маскируют эти ссылки с помощью различных сервисов сокращения URL. Они способны отвечать на комментарии и даже вести переписку в личных сообщениях в шуточной манере. Кто-нибудь сталкивался с этим? Интересно, учитывая, что эти попытки кажутся полностью автоматизированными, не является ли это массовым явлением для других форумов на Discourse? Есть ли у вас какие-либо советы по стратегии борьбы с ними?

1 лайк

Привет, @Overgrow,

Вот несколько идей, которые вы можете попробовать для предотвращения этого:

  • Используйте Discourse AI — AI triage для настройки обнаружения спама в вашем сообществе, чтобы выявлять такой тип контента.
  • Добавьте паттерны сервисов сокращения URL и партнерских ссылок Amazon в свой список заблокированных просматриваемых слов.
  • Понизьте порог newuser spam host threshold и увеличьте требования для уровня доверия TL1.
  • Уменьшите значение max new accounts per registration IP и включите опцию flag sockpuppets.
  • Используйте плагин Discourse hCaptcha, чтобы помочь предотвратить автоматизированный спам и регистрации с помощью ИИ на вашем сайте.
  • Рассмотрите возможность помещения всего контента новых пользователей в очередь на модерацию до тех пор, пока атака не утихнет, изменив следующие настройки:
    • approve post count
    • approve unless trust level
    • approve new topics unless trust level

Подход здесь будет аналогичен общей борьбе со спамом, но с большим акцентом именно на сокращённых URL и контенте, сгенерированном ИИ.

Для вашего случая вы можете попробовать использовать промпт для ИИ, специально предназначенный для обнаружения контента, созданного ИИ, например, следующий:

Вы — система обнаружения спама. Проанализируйте следующий контент и контекст.

Примечания:
- Ответы должны оставаться релевантными теме обсуждения.
- Помечайте как СПАМ, если контент нерелевантен, носит рекламный характер или является автоматизированным.
- Рассматривайте посты новых пользователей со ссылками как потенциальный СПАМ, если они явно не релевантны теме.

Обращайте внимание на контент, который выглядит аутентичным, но имеет неестественные паттерны.
Ищите текст с необычными формулировками, чрезмерной формальностью в сочетании с разговорным языком или общими советами, которые не совсем подходят к контексту.
Фиксируйте контент, содержащий скрытые партнерские ссылки, особенно когда пост, по-видимому, создан для того, чтобы естественно подвести к рекомендациям продуктов.

Особое внимание уделите следующим красным флагам:
1. Контент, который выдает себя за искренний запрос совета, но содержит рекламные элементы.
2. Посты, которые описывают проблему, а затем предлагают конкретные продукты в качестве решения.
3. Наличие сервисов сокращения URL (bit.ly, tinyurl, t.co, goo.gl и т. д.), которые могут маскировать партнерские ссылки.
4. Ссылки на продукты Amazon или упоминания о них, особенно с партнерскими параметрами (tag=, ref=, affiliate=).
5. Контент, который, кажется, просит рекомендаций, но незаметно склоняет к конкретным продуктам.
6. Искусственно качественный текст — чрезмерно формальный язык в сочетании с разговорными выражениями или неуклюжей структурой.
7. Новые аккаунты, публикующие контент с любым из вышеперечисленных паттернов.

Отвечайте только словами "SPAM" или "NOT SPAM".
3 лайка

Последнее время у меня серьёзные проблемы с бот-аккаунтами. Мне пришлось во второй раз отключить регистрацию новых пользователей. Вчера пришлось удалить около 50 бот-аккаунтов с примерно 30 спам-сообщениями. Я уже включил hCaptcha со сложной головоломкой, но это их не остановило. Я был на версии 3.5.0, но сразу после атаки обновился до 3.6.0. У нас уже не разрешены ссылки для уровня доверия 0, и требуется 30 сообщений перед тем, как разрешить ссылки, но эти посты — просто стены текста о турагентах и прочий случайный бред. Также у нас были аккаунты с ИИ и посты, которые ссылаются на реальное содержание форума, но при этом не совсем имеют смысл. Для нашей аудитории это отчасти забавно, но в любом случае я не хотел включать ИИ на форуме, однако чувствую, что исчерпал все другие варианты. Однако я получаю такое сообщение:

Но я нигде не вижу, где добавить указанную конфигурацию?

Прежде всего, хотя ИИ может помочь со спамом, я не думаю, что включение этого поможет предотвратить создание бот-аккаунтов в первую очередь. Или я ошибаюсь?

1 лайк

Если approve post count установлен в 1, то всё ещё необходимо изменять эти настройки?

Честно говоря, я не знаю ответа на этот вопрос.

Да, если approve_post_count установлено в 1, вам всё равно следует проверить остальные настройки.

Как взаимодействуют эти настройки:

approve_post_count (установлено в 1):

  • Влияет на пользователей с уровнем доверия 0 и 1
  • Требует одобрения их первого сообщения
  • После одобрения одного сообщения они могут публиковать свободно (при условии, что они всё ещё находятся на TL0 или TL1)

approve_unless_allowed_groups (ранее approve_unless_trust_level):

  • Влияет на всех, кто не входит в указанные группы
  • Требует одобрения всех сообщений (не только первого)

approve_new_topics_unless_allowed_groups (ранее approve_new_topics_unless_trust_level):

  • Влияет на всех, кто не входит в указанные группы
  • Требует одобрения только для новых тем (не для ответов)

Ключевое отличие:

  • approve_post_count временный — как только пользователи достигнут порога количества, они смогут публиковать свободно
  • Настройки «unless allowed groups» действуют постоянно — они применяются ко ВСЕМ сообщениям/темам от пользователей, не входящих в указанные группы, независимо от того, сколько сообщений они уже опубликовали

Вы также можете комбинировать настройки для лучшего контроля над публикациями на вашем сайте, например:

  • Используйте approve_post_count: 1 для проверки начальных сообщений от новых пользователей (TL0/TL1)
  • Используйте настройки approve_unless_allowed_groups для постоянной модерации всех, кроме конкретных групп (например, участников TL2+)

Это создаёт подход, при котором новые пользователи проходят модерацию на начальном этапе, и вы также можете контролировать, кто получает постоянную свободу публикации без одобрения.