Consigli per prevenire lo 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 Mi Piace

Non posso parlare per tutti i forum, ma in un forum di cui ero TL3, c’era almeno un post di spam ancora visibile quando ho effettuato l’accesso per la prima volta per la giornata nelle mie categorie monitorate. E su quello di cui sono attualmente moderatore, riceviamo in media 2 post di spam al giorno. Quindi penso che sia abbastanza comune su molti forum in base a questo.

5 Mi Piace

Un’espressione regolare molto utile è \\d{3}-\\d{4}|[\\w+\\-.]+@[a-z\\d\\-]+(\\.[a-z\\d\\-]+)*\\.[a-z]+ che blocca indirizzi email e numeri di telefono. Non dimenticare di abilitare le impostazioni - posting - “watched words regular expressions”.

7 Mi Piace

Ciao :wave:

Sto utilizzando questi suggerimenti sul mio forum e… grazie! :heart:

Esiste un’impostazione che può essere abilitata per inviare solo i nuovi utenti che si registrano da un dominio gmail.com, alla coda di revisione?

Attualmente, invio tutti i nuovi utenti alla coda per la revisione, ma ho scoperto che la maggior parte degli utenti spam sono quelli creati utilizzando un’email gmail. Inviare solo questi alla coda di revisione ridurrebbe il carico e il tempo di revisione, almeno per me :sweat_smile:

1 Mi Piace

@SaraDev Sai se questo è possibile? Mi piacerebbe saperlo anche a me perché sarebbe molto utile bloccare non solo gli IP, ma anche domini specifici!

1 Mi Piace

Non esiste una funzionalitĂ  principale di Discourse per inviare post solo da utenti di un dominio specifico (ad esempio, gmail.com) alla coda di revisione.

La funzionalità correlata più vicina è l’impostazione del sito domini email da approvare automaticamente, che consente a determinati domini email di aggirare il processo di approvazione manuale degli utenti approvando automaticamente gli utenti da tali domini.

Esistono anche impostazioni per domini email bloccati e domini email consentiti che forniscono un modo per limitare o controllare chi può registrarsi sul tuo sito in base ai propri domini email:

Tuttavia, tutte queste impostazioni richiederebbero l’abilitazione dell’impostazione approva utenti e influenzerebbero solo gli utenti che si registrano inizialmente su un sito, e non l’interazione tra la creazione di post e la coda di revisione.

Come soluzione alternativa, potresti utilizzare i Gruppi per ottenere una funzionalità simile. Ad esempio, potresti creare un gruppo personalizzato e aggiungere automaticamente gli utenti che si registrano con un indirizzo email specifico al gruppo, quindi aggiungere questo gruppo all’impostazione approva a meno che non siano consentiti gruppi e approva nuovi argomenti a meno che non siano consentiti gruppi.

Con questo tipo di configurazione, potresti effettivamente aggirare la coda di revisione per gli utenti con un dominio specifico, inviando comunque altri post alla coda di revisione, se lo desideri.

2 Mi Piace

Ciao, mi stavo chiedendo se fosse possibile forzare un captcha alla creazione di argomenti e/o post?

Non lo so, ma a cosa serve se un bot può aggirare il captcha durante l’accesso? Allora può fare lo stesso durante la pubblicazione.

Vero, ma sembra esserci il supporto captcha per la registrazione, quindi mi chiedevo se lo stesso esista per la creazione di argomenti/post.

Abbiamo visto diversi clienti colpiti da grandi attacchi spam ultimamente, e ciò che avevano in comune è che hanno aperto una o più categorie a tutti - crea, bypassando tutte le restrizioni sui livelli di fiducia.

Per gli amministratori esperti di Discourse è ovvio che questa sia una cattiva idea, ma per le persone meno esperte non lo è. Quindi potrebbe essere una buona idea affermare l’ovvio (per noi) e aggiungerlo al post iniziale dell’argomento.

7 Mi Piace

Ultimamente, abbiamo avuto a che fare con spammer che utilizzano la registrazione automatica e poi cercano di creare nuovi argomenti con contenuti generati dall’IA che sembrano vere richieste di consigli, ma includono link di affiliazione Amazon. Di solito mascherano questi link con vari motori di abbreviazione URL. Sono in grado di rispondere ai commenti e persino di chattare in privato in modo divertente. Qualcuno ha avuto esperienze simili? Mi chiedo se, poiché questi tentativi sembrano essere completamente automatizzati, ci siano molti altri forum Discourse presi di mira. Avete qualche consiglio su una strategia per liberarsene?

1 Mi Piace

Ciao @Overgrow,

Ecco alcune idee che potresti provare per prevenire questo:

  • Utilizza Discourse AI - AI triage per Impostare il rilevamento dello spam nella tua community per rilevare questo tipo di contenuto
  • Aggiungi accorciatori di URL e modelli di link di affiliazione Amazon alla tua lista bloccata di parole monitorate
  • Abbassa la soglia newuser spam host threshold e aumenta i requisiti per TL1
  • Riduci max new accounts per registration IP e abilita flag sockpuppets
  • Utilizza il plugin Discourse hCaptcha per aiutare a prevenire registrazioni spam/IA automatizzate sul tuo sito.
  • Considera di inserire tutti i contenuti dei nuovi utenti nella coda di revisione finchĂ© l’attacco non diminuisce regolando:
    • approve post count
    • approve unless trust level
    • approve new topics unless trust level

L’approccio qui sarà simile alla prevenzione dello spam in generale, con maggiore attenzione specificamente agli URL accorciati e ai contenuti generati dall’IA.

Per il tuo caso qui, potresti provare a utilizzare un prompt AI specificamente per rilevare contenuti AI come il seguente:

Sei un sistema di rilevamento dello spam. Analizza il seguente contenuto e contesto.

Note:
- Le risposte devono rimanere pertinenti al thread di discussione.
- Segna come SPAM se il contenuto è irrilevante, promozionale o automatizzato.
- Considera i post dei nuovi utenti con link come potenziale SPAM a meno che non siano esplicitamente pertinenti all'argomento.

Fai attenzione ai contenuti che appaiono autentici ma presentano schemi innaturali.
Cerca testi con formulazioni particolari, eccessiva formalitĂ  mescolata a
linguaggio informale, o consigli generici che non si adattano bene al contesto.
Segnala contenuti contenenti link di affiliazione nascosti, specialmente quando il post
sembra progettato per portare naturalmente a raccomandazioni di prodotti.

Presta particolare attenzione a questi segnali di allarme:
1. Contenuti che si presentano come richieste di consulenza genuine ma contengono elementi promozionali
2. Post che introducono un problema e poi suggeriscono prodotti specifici come soluzioni
3. La presenza di accorciatori di URL (bit.ly, tinyurl, t.co, goo.gl, ecc.) che possono mascherare link di affiliazione
4. Link o riferimenti a prodotti Amazon, specialmente con parametri di affiliazione (tag=, ref=, affiliate=)
5. Contenuti che sembrano chiedere raccomandazioni ma indirizzano sottilmente verso prodotti specifici
6. Testo di qualitĂ  artificiale - linguaggio eccessivamente formale mescolato a espressioni casuali o struttura goffa
7. Nuovi account che pubblicano contenuti con uno qualsiasi dei modelli sopra indicati

Rispondi solo con "SPAM" o "NOT SPAM".
3 Mi Piace

Sto avendo molti problemi con gli account bot ultimamente. Ho dovuto disabilitare le nuove registrazioni degli utenti per la seconda volta. Ieri ho dovuto eliminare circa 50 account bot con circa 30 post di spam. Ho già abilitato hcaptcha con un puzzle difficile ma non li ha fermati. Ero sulla 3.5.0 ma sono appena passato alla 3.6.0 subito dopo l’attacco. Non consentiamo già link a livello di fiducia 0 e richiediamo 30 post prima di consentire i link, ma questi post sono solo muri di testo su agenti di viaggio e altre sciocchezze casuali. Avevamo anche account e post AI che si riferivano al contenuto effettivo del forum ma non avevano molto senso. Quelli sono alquanto divertenti per la nostra base di utenti, ma comunque, non volevo abilitare l’IA sul forum ma sento di aver esaurito tutte le altre opzioni. Tuttavia, ricevo questo messaggio:

Ma non vedo dove aggiungere tale configurazione?

Soprattutto, mentre l’IA potrebbe aiutare con lo spam, non credo che abilitarla aiuti con la creazione degli account bot in primo luogo o mi sbaglio?

1 Mi Piace

Se approve post count è impostato su 1. Allora è ancora necessario modificarli?

Onestamente non conosco la risposta a questa domanda.