Conseils pour prévenir le 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 « J'aime »

Je ne peux pas parler pour tous les forums, mais sur un forum où j’étais TL3, il y avait au moins un message de spam encore visible lorsque je me connectais pour la première fois de la journée dans mes catégories surveillées. Et sur celui dont je suis actuellement modérateur, nous recevons en moyenne 2 messages de spam par jour. Je pense donc que c’est quelque peu courant sur de nombreux forums, d’après cela.

5 « J'aime »

Une expression régulière très utile est \\d{3}-\\d{4}|[\\w+\\-.]+@[a-z\\d\\-]+(\\.[a-z\\d\\-]+)*\\.[a-z]+ qui bloque les adresses e-mail et les numéros de téléphone. N’oubliez pas d’activer les paramètres - publication - « expressions régulières de mots surveillés ».

7 « J'aime »

Salut :wave:

J’ai beaucoup utilisé ces astuces sur mon forum, alors… merci ! :heart:

Existe-t-il un paramètre qui peut être activé pour que seuls les nouveaux utilisateurs s’inscrivant depuis un domaine gmail.com, par exemple, soient envoyés dans la file d’attente de révision ?

Actuellement, tous les nouveaux utilisateurs sont envoyés dans la file d’attente pour révision, mais j’ai constaté que la majorité des utilisateurs spam sont ceux qui utilisent une adresse e-mail Gmail. Envoyer uniquement ceux-là dans la file d’attente de révision réduirait la charge et le temps de révision, du moins pour moi :sweat_smile:

1 « J'aime »

@SaraDev Savez-vous si c’est possible ? J’aimerais aussi savoir car ce serait très utile de bloquer non seulement les adresses IP mais aussi des domaines spécifiques !

1 « J'aime »

Il n’existe pas de fonctionnalité principale dans Discourse pour envoyer des publications uniquement d’utilisateurs d’un domaine spécifique (par exemple, gmail.com) vers la file d’attente de révision.

La fonctionnalité la plus proche est le paramètre du site domaine de messagerie à approbation automatique, qui permet à certains domaines de messagerie de contourner le processus manuel d’approbation des utilisateurs en approuvant automatiquement les utilisateurs de ces domaines.

Il existe également des paramètres pour les domaines de messagerie bloqués et les domaines de messagerie autorisés qui permettent de restreindre ou de contrôler qui peut s’inscrire sur votre site en fonction de leurs domaines de messagerie :

Cependant, tous ces paramètres nécessiteraient que le paramètre doit approuver les utilisateurs soit activé, et n’auraient un impact que sur les utilisateurs s’inscrivant initialement sur un site, et non sur l’interaction entre la création de publications et la file d’attente de révision.

En guise de solution de contournement, vous pourriez utiliser les Groupes pour accomplir une fonctionnalité similaire. Par exemple, vous pourriez créer un groupe personnalisé et ajouter automatiquement les utilisateurs qui s’inscrivent avec une adresse e-mail spécifique au groupe, puis ajouter ce groupe aux paramètres approuver sauf groupes autorisés et approuver les nouveaux sujets sauf groupes autorisés.

Avec ce type de configuration, vous pourriez effectivement contourner la file d’attente de révision pour les utilisateurs d’un domaine spécifique, tout en envoyant d’autres publications à la file d’attente de révision si vous le souhaitez.

2 « J'aime »

Bonjour, je me demandais s’il était possible de forcer un captcha lors de la création de sujets et/ou de messages ?

Je ne sais pas, mais à quoi sert qu’un bot puisse contourner le captcha lors de la connexion ? Il peut alors faire de même lors de la publication.

C’est vrai, mais il semble y avoir une prise en charge des captcha pour l’inscription, alors je me demandais si la même chose existait pour la création de sujets/messages.

Nous avons constaté que plusieurs clients ont été victimes de grosses attaques de spam récemment, et ce qu’ils avaient tous en commun, c’est qu’ils ont ouvert une ou plusieurs catégories à « tout le monde » - « créer », contournant ainsi toutes les restrictions de niveau de confiance.

Pour les administrateurs expérimentés de Discourse, il est évident que c’est une mauvaise idée, mais pour les personnes moins expérimentées, ce n’est pas le cas. Il pourrait donc être judicieux d’énoncer l’évidence (pour nous) et d’ajouter cela au premier message du sujet.

7 « J'aime »

Ces derniers temps, nous avons affaire à des spammeurs qui utilisent l’enregistrement automatique, puis tentent de créer de nouveaux sujets avec du contenu généré par l’IA qui ressemble à de véritables demandes de conseils, mais qui incluent des liens d’affiliation Amazon. Ils masquent généralement ces liens avec divers moteurs de raccourcissement d’URL. Ils sont capables de répondre aux réponses et même de discuter en MP de manière amusante. Quelqu’un a-t-il vécu cela ? Je me demande si, étant donné que ces tentatives semblent entièrement automatisées, il y aurait beaucoup d’autres forums Discourse ciblés. Avez-vous des conseils sur une stratégie pour les couper ?

1 « J'aime »

Salut @Overgrow,

Voici quelques idées que vous pourriez essayer pour éviter cela :

  • Utilisez Discourse AI - Triage IA pour Configurer la détection de spam dans votre communauté afin de détecter ce type de contenu.
  • Ajoutez les raccourcisseurs d’URL et les modèles de liens d’affiliation Amazon à votre liste de mots surveillés bloqués.
  • Diminuez le seuil newuser spam host threshold et augmentez les exigences pour TL1.
  • Réduisez max new accounts per registration IP et activez flag sockpuppets.
  • Utilisez le plugin Discourse hCaptcha pour aider à prévenir les enregistrements automatisés de spam/IA sur votre site.
  • Envisagez de placer tout le contenu des nouveaux utilisateurs dans la file d’attente de révision jusqu’à ce que l’attaque diminue en ajustant :
    • approve post count
    • approve unless trust level
    • approve new topics unless trust level

L’approche ici sera similaire à la prévention du spam en général, avec une attention particulière aux URL raccourcies et au contenu généré par IA.

Pour votre cas ici, vous pourriez essayer d’utiliser une invite IA spécifiquement pour détecter le contenu IA comme suit :

Vous êtes un système de détection de spam. Analysez le contenu et le contexte suivants.

Notes :
- Les réponses doivent rester pertinentes par rapport au fil de discussion.
- Marquez comme SPAM si le contenu est non pertinent, promotionnel ou automatisé.
- Considérez les publications de nouveaux utilisateurs avec des liens comme du SPAM potentiel, sauf si explicitement pertinent pour le sujet.

Surveillez le contenu qui semble authentique mais présente des schémas non naturels.
Recherchez du texte avec des formulations particulières, un excès de formalité mêlé à un langage informel, ou des conseils génériques qui ne correspondent pas tout à fait au contexte.
Signalez le contenu contenant des liens d'affiliation cachés, surtout si la publication semble conçue pour mener naturellement à des recommandations de produits.

Portez une attention particulière à ces signaux d'alarme :
1. Contenu qui se présente comme de véritables demandes de conseils mais contient des éléments promotionnels.
2. Publications qui introduisent un problème puis suggèrent des produits spécifiques comme solutions.
3. La présence de raccourcisseurs d'URL (bit.ly, tinyurl, t.co, goo.gl, etc.) qui peuvent masquer des liens d'affiliation.
4. Liens ou références de produits Amazon, en particulier avec des paramètres d'affiliation (tag=, ref=, affiliate=).
5. Contenu qui semble demander des recommandations mais oriente subtilement vers des produits spécifiques.
6. Texte de qualité artificielle - langage trop formel mêlé à des expressions informelles ou une structure maladroite.
7. Nouveaux comptes publiant du contenu présentant l'un des schémas ci-dessus.

Répondez uniquement par "SPAM" ou "PAS SPAM".
3 « J'aime »

J’ai beaucoup de mal avec les comptes de bots ces derniers temps. J’ai dû désactiver les nouvelles inscriptions d’utilisateurs pour la deuxième fois. Hier, j’ai dû supprimer une cinquantaine de comptes de bots avec environ 30 publications de spam. J’ai déjà activé hcaptcha avec un puzzle difficile, mais cela ne les a pas arrêtés. J’étais sur la version 3.5.0 mais je viens de passer à la 3.6.0 juste après l’attaque. Nous n’autorisons déjà pas les liens au niveau de confiance 0 et exigeons 30 publications avant d’autoriser les liens, mais ces publications ne sont que des murs de texte sur les agents de voyage et d’autres absurdités aléatoires. J’ai également eu des comptes et des publications d’IA qui font référence au contenu réel du forum mais qui n’ont pas tout à fait de sens. Ceux-ci sont quelque peu divertissants pour notre base d’utilisateurs, mais bref, je ne voulais pas activer l’IA sur le forum mais j’ai l’impression d’avoir épuisé toutes les autres options. Cependant, j’obtiens ce message :

Mais je ne vois nulle part où ajouter ladite configuration ?

Surtout, si l’IA peut aider avec le spam, je ne pense pas que l’activation de celle-ci aidera à la création des comptes de bots en premier lieu, ou me trompé-je ?

1 « J'aime »

Si approve post count est défini sur 1. Alors est-il toujours nécessaire de modifier ceux-ci ?

Honnêtement, je ne connais pas la réponse à cette question.