The Stop Forum Spam plugin (unofficial) can help weed out human spammers who are able to bypass Discourse’s built-in spam tools (thanks to their awesome human powers). Right after a new user signs up on your forum (before they have time to post), this plugin will check the user’s email address, forum username, and/or IP address (depending on your plugin settings) against the Stop Forum Spam database. If the user is found in this database of known spammers, their user account will be immediately auto silenced in Discourse.
Note: If needed, you can unsilence the user in the Users → Silenced section of the Discourse Admin.
Installation
Follow these instructions to install this plugin in your Discourse installation.
After installing this plugin in Discourse, you’ll be able to configure the following settings in the Settings → Plugins section of the Discourse Admin:
stopforumspam enabled: Enable the Stop Forum Spam plugin. This will auto silence new users who are in the Stop Forum Spam database of known spammers.
stopforumspam check email: Silence new user if email is found in Stop Forum Spam database.
stopforumspam check username: Silence new user if username is found in Stop Forum Spam database.
stopforumspam check ip: Silence new user if IP is found in Stop Forum Spam database.
stopforumspam minimum entries found: User must appear in the Stop Forum Spam database at least this number of times.
stopforumspam recheck users after hours: Number of hours to wait before rechecking new users a second time to make sure they are still not in the Stop Forum Spam database. Set to 0 to disable recheck.
Note: If you have more than one of these check settings enabled, the user will be deemed a spammer as soon as one of them is found in the Stop Forum Spam database.
GitHub Repository
Questions/Comments/Suggestions
While I don’t mind if you reach out to me directly for help, it would be benefit everyone here if you’d post your questions, comments, and/or suggestions below.
I added a new stopforumspam recheck users after hours plugin setting to allow users to be rechecked again after X hours. This will allow more spammers to be cleaned up later when they are not found in the Stop Forum Spam database on the first check.
This is a great idea — however, I would have expected that spammers change their email address each new time they spam so I’m surprised that checking such a database is effective.
Hola, muchas gracias @msinger por este plugin, he estado usando SFS durante años en un foro que no es de Discourse y definitivamente ayuda.
¡La opción de volver a verificar nuevas cuentas después de X horas es una idea fantástica, gracias por agregarla!
Algunas posibles mejoras para este plugin:
¿Es posible hacerlo funcionar desde el principio en la página de registro para que los spammers ni siquiera puedan registrarse?
¿Se podrían implementar umbrales configurables por el administrador para especificar cuántos aciertos en la base de datos de SFS para nombre de usuario, correo electrónico e IP para considerarlo un spammer?
Sería bueno tener un botón de administrador para reportar un usuario y sus publicaciones a SFS.
Noto que StopForumSpam está caído en este momento, mostrando “demasiadas conexiones a la base de datos” - ¿es posible que este plugin sea parte del problema? ¿Podría este plugin aplicar un límite de velocidad, si es que no lo hace ya?
(Y, ¿cómo reacciona este plugin si no puede obtener una buena respuesta del servicio?)
Introduje una nueva configuración en la versión 2.0 llamada Stopforumspam Minimum Entries Found (Entradas Mínimas Encontradas en Stopforumspam). Por defecto, esta configuración está establecida en 1. Puedes aumentar el valor para ajustar el umbral de coincidencias encontradas basándose en el correo electrónico, nombre de usuario o dirección IP.
Además, cuando un usuario es silenciado, la razón ahora incluye el número de ocurrencias.
Sí, siempre que permanezcan dentro del alcance del proyecto original. Si buscas expandirte más allá de mi visión inicial, entonces siéntete libre de crear una bifurcación.
Si bien no puedo garantizar que nunca se rompa debido al agresivo calendario de lanzamientos de Discourse, funciona completamente con la última versión beta. Actualmente lo estoy ejecutando en todos mis foros con 3.5.0.beta2-dev.
Recientemente instalé este plugin, pero no creo que haya detectado a nadie todavía (estoy seguro de que lo hará, ya que con bastante frecuencia vi IPs de nuevos usuarios presentes en stopforumspam).
Cuando se detecta una publicación, ¿va a la cola de revisión?
No, en mi opinión, eso anularía el propósito del plugin, que es básicamente un sistema completamente automatizado y práctico para bloquear spammers confirmados sin tiempo de moderación. Pero puedes buscar en /admin/users/list/silenced y los que fueron silenciados por el plugin muestran la razón como “User was found in StopForumSpam”.
He tenido muchos spammers durante años en mi foro y he intentado varias cosas para minimizar las acciones de los administradores. ¡Confío en que este plugin hará un trabajo increíble, por lo que veo!
Nunca me ha dado un falso positivo (es decir, cada vez que encuentra algo, es algo que está en la base de datos SFS).
Una cosa a tener en cuenta es que la API tiene una limitación, y puedes obtener una coincidencia en una dirección de correo electrónico que no coincide exactamente con la dirección de correo electrónico; SFS identificará el dominio como un “dominio tóxico”, pero la API no te lo dice. Los usuarios con direcciones de correo electrónico de uno de esos dominios aparecerán como una coincidencia de correo electrónico, pero no podrás encontrar su correo electrónico exacto en la base de datos SFS realizando una búsqueda.
La base de datos es un esfuerzo comunitario, por lo que existe la posibilidad de que el usuario en realidad no sea un spammer, sino que haya sido identificado por alguien como spammer por alguna razón. Es raro, pero sucede (por eso SFS tiene un proceso de ‘apelación’).
Hasta ahora lo tenía configurado para que solo comprobara coincidencias de direcciones de correo electrónico, que es el identificador más único. Las coincidencias de direcciones IP y nombres de usuario son mucho más propensas a ser falsos positivos, por lo que deshabilité esas comprobaciones. Pero ahora que el umbral es configurable, podría establecer un umbral muy alto de, por ejemplo, 30 coincidencias para direcciones IP y quizás nombres de usuario.
Buen punto a tener en cuenta, me tomó mucho tiempo darme cuenta de eso. Aunque, sinceramente, esos “dominios tóxicos” tienen el nombre bien puesto, y cualquier usuario que se registre con uno de esos correos electrónicos casi seguramente tiene malas intenciones de enviar spam o evadir una prohibición por trolling/acoso repetido. Afortunadamente, este plugin solo silencia al usuario, por lo que si de alguna manera fuera un falso positivo, aún pueden contactar al personal con este otro plugin (en mi opinión esencial) habilitado: