Consejos para prevenir el 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 Me gusta

No puedo hablar por todos los foros, pero en uno en el que solía estar como TL3, todavía había al menos una publicación de spam cuando me conecté por primera vez en el día en mis categorías seguidas. Y en el que soy moderador actualmente, recibimos un promedio de 2 publicaciones de spam al día. Así que creo que es algo común en muchos foros basándome en eso.

5 Me gusta

Una expresión regular muy útil es \\d{3}-\\d{4}|[\\w+\\-.]+@[a-z\\d\\-]+(\\.[a-z\\d\\-]+)*\\.[a-z]+ que bloquea direcciones de correo electrónico y números de teléfono. No olvides habilitar la configuración: publicación - “expresiones regulares de palabras vigiladas”.

7 Me gusta

Hola :wave:

He estado aprovechando mucho estos consejos en mi foro, ¡así que gracias! :heart:

¿Hay alguna configuración que se pueda habilitar y que envíe solo a los nuevos usuarios que se registran desde un dominio gmail.com, a la cola de revisión?

Actualmente, envío a todos los usuarios nuevos a la cola para su revisión, pero he descubierto que la mayoría de los usuarios spam son los que se crean usando un correo electrónico de Gmail. Enviar solo a esos a la cola de revisión reduciría la carga y el tiempo de revisión, al menos para mí :sweat_smile:

1 me gusta

@SaraDev ¿Sabes si esto es posible? ¡Me encantaría saberlo también, ya que sería muy útil para bloquear no solo IPs, sino dominios específicos!

1 me gusta

No hay una función principal de Discourse para enviar publicaciones solo de usuarios de un dominio específico (por ejemplo, gmail.com) a la cola de revisión.

La función relacionada más cercana es la configuración del sitio dominios de correo electrónico de aprobación automática, que permite que ciertos dominios de correo electrónico eviten el proceso manual de aprobación de usuarios al aprobar automáticamente a los usuarios de esos dominios.

También hay configuraciones para dominios de correo electrónico bloqueados y dominios de correo electrónico permitidos que proporcionan una forma de restringir o controlar quién puede registrarse en su sitio según sus dominios de correo electrónico:

Sin embargo, todas estas configuraciones requerirían que la configuración debe aprobar usuarios esté habilitada, y solo afectarían a los usuarios que se registran inicialmente en un sitio, y no a la interacción entre la creación de publicaciones y la cola de revisión.

Como solución alternativa, podría usar Grupos para lograr una funcionalidad similar. Por ejemplo, podría crear un grupo personalizado y agregar automáticamente a los usuarios que se registran con una dirección de correo electrónico específica al grupo, y luego agregar este grupo a la configuración aprobar a menos que los grupos permitidos y aprobar nuevos temas a menos que los grupos permitidos.

Con este tipo de configuración, podría omitir efectivamente la cola de revisión para los usuarios con un dominio específico, mientras aún envía otras publicaciones a la cola de revisión si lo desea.

2 Me gusta

Hola, me preguntaba si es posible forzar un captcha en la creación de temas y/o publicaciones.

No lo sé, pero ¿qué ayuda si un bot puede eludir el captcha al iniciar sesión? Entonces puede hacer lo mismo al publicar.

Verdadero, pero parece haber soporte de captcha para el registro, así que me preguntaba si lo mismo existe para la creación de temas/publicaciones.

Hemos visto que varios clientes se han visto afectados por grandes ataques de spam últimamente, y lo que todos tenían en común es que abrieron una o más categorías a todos - crear, eludiendo todas las restricciones de nivel de confianza.

Para los administradores experimentados de Discourse, es obvio que esta es una mala idea, pero para las personas con menos experiencia no lo es. Por lo tanto, podría ser una buena idea declarar lo (para nosotros) obvio y agregar esto a la publicación inicial del tema.

7 Me gusta

Últimamente, hemos estado lidiando con spammers que utilizan el registro automático y luego intentan crear nuevos temas con contenido generado por IA que parece una solicitud genuina de asesoramiento, pero incluye enlaces de afiliados de Amazon. Por lo general, enmascaran esos enlaces con varios motores de acortamiento de URL. Son capaces de responder a las respuestas e incluso pueden chatear en mensajes privados de una manera divertida. ¿Alguien ha experimentado esto? Me pregunto si, dado que estos intentos parecen estar completamente automatizados, habría muchos otros foros de Discourse dirigidos. ¿Tienen algún consejo sobre una estrategia para deshacerse de ellos?

1 me gusta

Hola @Overgrow,

Aquí tienes algunas ideas que podrías probar para evitar esto:

  • Utiliza Discourse AI - Triage de IA para Configurar la detección de spam en tu comunidad para detectar este tipo de contenido.
  • Añade acortadores de URL y patrones de enlaces de afiliados de Amazon a tu lista de palabras vigiladas bloqueadas.
  • Reduce el umbral de spam para nuevos usuarios (newuser spam host threshold) y aumenta los requisitos para TL1.
  • Reduce el número máximo de cuentas nuevas por IP de registro (max new accounts per registration IP) y habilita la detección de títeres (flag sockpuppets).
  • Utiliza el plugin Discourse hCaptcha para ayudar a prevenir registros automatizados de spam/IA en tu sitio.
  • Considera colocar todo el contenido de nuevos usuarios en la cola de revisión hasta que el ataque disminuya ajustando:
    • El número de publicaciones a aprobar (approve post count).
    • Aprobar a menos que el nivel de confianza sea X (approve unless trust level).
    • Aprobar nuevos temas a menos que el nivel de confianza sea X (approve new topics unless trust level).

El enfoque aquí será similar a la prevención general de spam, con un enfoque más específico en las URL acortadas y el contenido generado por IA.

Para tu caso aquí, podrías intentar usar un prompt de IA específicamente para detectar contenido de IA como el siguiente:

Eres un sistema de detección de spam. Analiza el siguiente contenido y contexto.

Notas:
- Las respuestas deben seguir siendo relevantes para el hilo de discusión.
- Marca como SPAM si el contenido es irrelevante, promocional o automatizado.
- Considera las publicaciones de nuevos usuarios con enlaces como SPAM potencial a menos que sean explícitamente relevantes para el tema.

Busca contenido que parezca auténtico pero tenga patrones poco naturales.
Busca texto con frases peculiares, formalidad excesiva mezclada con lenguaje informal, o consejos genéricos que no encajan del todo con el contexto.
Marca el contenido que contenga enlaces de afiliados ocultos, especialmente cuando la publicación parezca diseñada para llevar a recomendaciones de productos de forma natural.

Presta especial atención a estas señales de alerta:
1. Contenido que se presenta como solicitudes de asesoramiento genuinas pero contiene elementos promocionales.
2. Publicaciones que introducen un problema y luego sugieren productos específicos como soluciones.
3. La presencia de acortadores de URL (bit.ly, tinyurl, t.co, goo.gl, etc.) que pueden disfrazar enlaces de afiliados.
4. Enlaces o referencias a productos de Amazon, especialmente con parámetros de afiliado (tag=, ref=, affiliate=).
5. Contenido que parece pedir recomendaciones pero se dirige sutilmente a productos específicos.
6. Texto de calidad artificial: lenguaje demasiado formal mezclado con expresiones informales o estructura torpe.
7. Cuentas nuevas que publican contenido con alguno de los patrones anteriores.

Responde solo con "SPAM" o "NO SPAM".
3 Me gusta

He tenido muchos problemas con cuentas de bots últimamente. He tenido que deshabilitar el registro de nuevos usuarios por segunda vez. Ayer tuve que eliminar unas 50 cuentas de bots con aproximadamente 30 publicaciones de spam. Ya he habilitado hcaptcha con un rompecabezas difícil, pero no los ha detenido. Estaba en la versión 3.5.0 pero acabo de actualizar a la 3.6.0 justo después del ataque. Ya no permitimos enlaces en el nivel de confianza 0 y requerimos 30 publicaciones antes de permitir enlaces, pero estas publicaciones son solo muros de texto sobre agentes de viajes y otras tonterías aleatorias. También he tenido cuentas y publicaciones de IA que se refieren al contenido real del foro pero que no tienen mucho sentido. Esos son algo entretenidos para nuestra base de usuarios, pero de todos modos, no quería habilitar la IA en el foro, pero siento que he agotado todas las demás opciones. Sin embargo, recibo este mensaje:

Pero no veo dónde agregar dicha configuración.

Sobre todo, aunque la IA podría ayudar con el spam, no creo que habilitar esto ayude a crear las cuentas de bots en primer lugar, ¿o me equivoco?

1 me gusta

Si approve post count se establece en 1. ¿Sigue siendo necesario modificar estos?

Honestamente, no sé la respuesta a esa pregunta.