Dicas para Prevenir Spam

:bookmark: This documentation provides a comprehensive guide on preventing spam in Discourse forums, and includes information about various settings and tools designed to help maintain a spam-free community environment.

:person_raising_hand: Required user level: Administrator

On most forums spam is rare. However, if you’re having problems with spam on your site, Discourse comes with numerous tools to help you automatically prevent spam.

The following guide offers some recommendations on how you can help prevent spam, while still maintaining a positive and welcoming environment for your community.

Spam Detection with Discourse AI

AI Spam Detection is one of the best Discourse features for automated spam detection. Unlike other tools, it can automatically block users and posts based on preconfigured rules. AI Spam Detection is available to all users on Discourse hosting, and on self-hosted sites with an LLM configured.

Benefits of AI Spam Detection include:

  • Automation: No manual intervention is needed to block obvious spam.
  • Customizability: You can tailor it to your community’s unique requirements.
  • Scalability: Works well even when communities are under heavy spam attacks.
  • Broad compatibility: Free (on Discourse hosting) and budget-friendly LLMs like GPT-4, Claude 3.5, and Gemini Flash can handle spam detection effectively.

Setting up AI spam detection

:megaphone: This is now default turned on for Starter and Standard customers

Simply turn it on in Admin settings → plugins → AI → Spam Handling (details here).

By default it uses a prompt that Discourse has tailored for our sites, but you may add custom instructions specific to your site.

Example tailored prompt

:information_source: With Discourse AI you can also use the creative AI bot to generate tailored prompts that are specific to your site’s needs.

Default Trust Levels

The default trust level for new users on your site can be adjusted on the .../admin/site_settings/category/trust page, however, we recommend keeping the default trust level set to 0.

If you’ve modified the value of this setting, we strongly recommend changing it back to 0: new user, as changing this setting can put your site at serious risk for spam, due to the way that trust levels interact with Discourse’s spam related settings.

Spam Related Site Settings

:warning: Unless you are specifically having trouble with spam, we recommend keeping the following settings at their default values.

Discourse has several spam related site settings that you can access on your site’s .../admin/site_settings/category/spam page.

These settings can be adjusted to increase or decrease the sensitivity of spam detection, and the strictness of the consequences associated with posting spam.

The following are some of the more commonly adjusted spam related settings that have a notable impact on how spam is handled on a site.

The default values for all settings are shown below.

Hiding Posts

The hide post sensitivity and cooldown minutes after hiding posts settings control the likelihood that a flagged post will be automatically hidden by Discourse, and how long a user must wait before they can edit a flagged and hidden post.

Silencing New Users

Discourse has a num users to silence site setting, which will automatically silence a new user if they receive a certain number of spam flags.

By default this is set to 3, so you may want to consider lowering this if you’re consistently having problems with spam coming from the same user(s).

Limiting Links

Discourse limits the number of posts a new user can make that contain links to an outside domain with the newuser spam host threshold setting. If new users on your site are frequently spamming links to the same domain, you may want to consider lowering the value of this setting.

Limiting IP Addresses

Discourse limits the number of new accounts a user can make from any given IP address. If you’re finding that problematic users on your site are repeatedly creating accounts to spam your site, you could consider lowering this from the default value.

There’s also a flag sockpuppets checkbox that you can enable to prevent users from creating multiple accounts and then commenting on the same topic:

Additionally, you can manually look up the IP addresses of problematic users on their admin page under the Last IP Address and Registration IP Address fields, and delete other accounts associated with the same IP address.

Or consider blocking IP addresses that spammers are using on the “Logs → Screened IPs” page (.../admin/logs/screened_ip_addresses):

Adjusting Flag Requirements

By default, a topic needs to be flagged by 5 unique users before Discourse will automatically suspending posting to that topic.

You can adjust the num flaggers to close topic site setting to raise or lower the number of flaggers required to suspend posting on a topic, and adjust the auto close topic sensitivity setting to change the likelihood that the topic in question will get automatically closed instead.

Watched Words

Watched Words are another great feature for helping block or limit posts that contain words, phrases, or URL links that spammers might be repeatedly using.

Considering adding some “Blocked” or “Silence” Words to your site if you’re finding that spammers are frequently using the same types of text in their posts.

For a more advanced use of Watched Words, you could also consider Using Regex with Watched Words.

Increase Trust Level Requirements

If you’re finding that spam is coming mainly from TL0 users, you may also want to adjust some of the trust level settings to make it harder to get to TL1:

hCaptcha Plugin

The Discourse hCaptcha plugin aims to enhance security and bot protection by integrating hCaptcha into the local sign-up form.

:sparkles: On all Discourse hosted sites, this plugin is automatically included.

Additional Steps

It’s important to understand why users are spamming your site. Are they’re bored, malicious, or looking to promote themselves?

Suggestions for dealing with The Difficult User, along with a variety of other moderation topics can be found in our Discourse Moderation Guide, so you may want to read through this guide for some additional ideas regarding moderating your site.

Outside of the above, ramping up your moderation team for the short term, so that you have full coverage is another good approach to combatting spam. The key is to wear the problem users down so they get bored and move on.

If you’re continually having problems with spam after going through this guide, you could also consider placing all or some posts from new users into the review queue with the approve post count, approve unless trust level, or approve new topics unless trust level settings:

However, it’s important to make sure you have enough moderators at hand to handle this, as this can have the potential make it difficult for new users to start interacting with the site if posts go unapproved.

Last edited by @Saif 2025-03-13T15:11:05Z

Check documentPerform check on document:
17 curtidas

Não posso falar por todos os fóruns, mas em um fórum em que eu era TL3, havia pelo menos um post de spam ainda ativo quando fiz login pela primeira vez no dia nas minhas categorias observadas. E no fórum em que sou moderador atualmente, recebemos em média 2 posts de spam por dia. Portanto, acho que é algo relativamente comum em muitos fóruns, com base nisso.

5 curtidas

Uma expressão regular muito útil é \\d{3}-\\d{4}|[\\w+\\-.]+@[a-z\\d\\-]+(\\.[a-z\\d\\-]+)*\\.[a-z]+ que bloqueia endereços de e-mail e números de telefone. Não se esqueça de ativar as configurações - postagem - “expressões regulares de palavras monitoradas”.

7 curtidas

Olá :wave:

Tenho aproveitado muito estas dicas no meu fórum, então… obrigado! :heart:

Existe alguma configuração que possa ser ativada para que apenas novos usuários que se cadastram a partir de um domínio gmail.com, por exemplo, sejam enviados para a fila de revisão?

Atualmente, todos os novos usuários são enviados para a fila para revisão, mas descobri que a maioria dos usuários de spam são aqueles criados com um e-mail do Gmail. Enviar apenas esses para a fila de revisão reduziria a carga e o tempo de revisão, pelo menos para mim :sweat_smile:

1 curtida

@SaraDev Você sabe se isso é possível? Eu também adoraria saber, pois seria muito útil bloquear não apenas IPs, mas domínios específicos!

1 curtida

Não há um recurso principal do Discourse para enviar postagens apenas de usuários de um domínio específico (por exemplo, gmail.com) para a fila de revisão.

O recurso mais próximo relacionado é a configuração do site domínios de e-mail para aprovação automática, que permite que certos domínios de e-mail ignorem o processo manual de aprovação de usuários, aprovando automaticamente os usuários desses domínios.

Também existem configurações para domínios de e-mail bloqueados e domínios de e-mail permitidos que fornecem uma maneira de restringir ou controlar quem pode se registrar em seu site com base em seus domínios de e-mail:

No entanto, todas essas configurações exigiriam que a configuração deve aprovar usuários estivesse habilitada e afetariam apenas os usuários que estão se registrando inicialmente em um site, e não a interação entre a criação de postagens e a fila de revisão.

Como uma solução alternativa, você poderia usar Grupos para realizar uma funcionalidade semelhante. Por exemplo, você poderia criar um grupo personalizado e adicionar automaticamente usuários que se registram com um endereço de e-mail específico ao grupo, e então adicionar este grupo à configuração aprovar a menos que grupos permitidos e aprovar novos tópicos a menos que grupos permitidos.

Com esse tipo de configuração, você poderia efetivamente contornar a fila de revisão para usuários com um domínio específico, enquanto ainda envia outras postagens para a fila de revisão, se desejar.

2 curtidas

Olá, eu estava me perguntando se é possível forçar um captcha na criação de tópicos e/ou posts?

Não sei, mas o que ajuda se um bot puder contornar o captcha ao fazer login? Então ele pode fazer o mesmo ao publicar.

Verdade, mas parece haver suporte a captcha para registro, então eu estava me perguntando se o mesmo existe para a criação de tópicos/posts.

Temos visto vários clientes serem atingidos por grandes ataques de spam ultimamente, e o que todos eles tinham em comum é que abriram uma ou mais categorias para todos - criar, contornando todas as restrições de nível de confiança.

Para administradores experientes do Discourse, é óbvio que esta é uma má ideia, mas para pessoas menos experientes não é. Portanto, pode ser uma boa ideia afirmar o (para nós) óbvio e adicionar isso à postagem inicial do tópico.

7 curtidas

Ultimamente, temos lidado com spammers que usam registro automático e, em seguida, tentam criar novos tópicos com conteúdo gerado por IA que se parece com solicitações genuínas de conselhos, mas inclui links de afiliados da Amazon. Eles geralmente mascaram esses links com vários mecanismos de encurtamento de URL. Eles são capazes de responder a réplicas e até mesmo conversar em PM de forma engraçada. Alguém já passou por isso? Eu me pergunto se, como essas tentativas parecem ser totalmente automatizadas, haveria muitos outros fóruns do Discourse visados. Você tem algum conselho sobre uma estratégia para cortá-los?

1 curtida

Olá @Overgrow,

Algumas ideias que você pode tentar aqui para evitar isso:

  • Use Discourse AI - Triagem de IA para Configurar detecção de spam em sua comunidade para detectar esse tipo de conteúdo
  • Adicione encurtadores de URL e padrões de links de afiliados da Amazon à sua lista de palavras monitoradas bloqueadas
  • Reduza o limiar de spam de novos usuários por host e aumente os requisitos para TL1
  • Reduza máximo de novas contas por IP de registro e ative marcar contas falsas
  • Use o plugin Discourse hCaptcha para ajudar a prevenir registros automatizados de spam/IA em seu site.
  • Considere colocar todo o conteúdo de novos usuários na fila de revisão até que o ataque diminua, ajustando:
    • contagem de postagens aprovadas
    • aprovar a menos que nível de confiança
    • aprovar novos tópicos a menos que nível de confiança

A abordagem aqui será semelhante à prevenção de spam em geral, com mais foco especificamente em URLs encurtados e conteúdo gerado por IA.

Para o seu caso aqui, você pode tentar usar um prompt de IA especificamente para detectar conteúdo de IA como o seguinte:

Você é um sistema de detecção de spam. Analise o seguinte conteúdo e contexto.

Notas:
- As respostas devem permanecer relevantes ao tópico da discussão.
- Marque como SPAM se o conteúdo for irrelevante, promocional ou automatizado.
- Considere postagens de novos usuários com links como SPAM potencial, a menos que explicitamente relevantes ao tópico.

Procure por conteúdo que pareça autêntico, mas tenha padrões não naturais.
Procure por textos com frases peculiares, formalidade excessiva misturada com
linguagem casual, ou conselhos genéricos que não se encaixam bem no contexto.
Marque o conteúdo que contém links de afiliados ocultos, especialmente quando a postagem
parece projetada para levar naturalmente a recomendações de produtos.

Preste atenção especial a estas bandeiras vermelhas:
1. Conteúdo que se apresenta como solicitações genuínas de conselhos, mas contém elementos promocionais
2. Postagens que introduzem um problema e, em seguida, sugerem produtos específicos como soluções
3. A presença de encurtadores de URL (bit.ly, tinyurl, t.co, goo.gl, etc.) que podem disfarçar links de afiliados
4. Links ou referências de produtos da Amazon, especialmente com parâmetros de afiliados (tag=, ref=, affiliate=)
5. Conteúdo que parece pedir recomendações, mas sutilmente direciona para produtos específicos
6. Texto de qualidade artificial - linguagem excessivamente formal misturada com expressões casuais ou estrutura estranha
7. Novas contas postando conteúdo com qualquer um dos padrões acima

Responda apenas com "SPAM" ou "NÃO SPAM".
3 curtidas

Tenho tido muitos problemas com contas de bots ultimamente. Tive que desativar o registro de novos usuários pela segunda vez. Ontem tive que excluir cerca de 50 contas de bots com aproximadamente 30 posts de spam. Já ativei o hcaptcha com um quebra-cabeça difícil, mas isso não os impediu. Estava na versão 3.5.0, mas acabei de atualizar para a 3.6.0 logo após o ataque. Já não permitimos links no nível de confiança 0 e exigimos 30 posts antes de permitir links, mas esses posts são apenas paredes de texto sobre agentes de viagens e outras bobagens aleatórias. Também tive contas e posts de IA que se referem ao conteúdo real do fórum, mas não fazem muito sentido. Estes são um tanto divertidos para a nossa base de usuários, mas, de qualquer forma, eu não queria ativar a IA no fórum, mas sinto que esgotei todas as outras opções. No entanto, recebo esta mensagem:

Mas não vejo onde adicionar essa configuração?

Acima de tudo, embora a IA possa ajudar com o spam, não acho que habilitá-la ajudará na criação das contas de bot em primeiro lugar, ou estou enganado?

1 curtida

Se approve post count for definido como 1. Então, modificar estes ainda é necessário?

Eu honestamente não sei a resposta para essa pergunta.