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.
Olá, muito obrigado @msinger por este plugin, tenho usado o SFS por anos em um fórum não-Discourse e ele definitivamente ajuda.
A opção de verificar novamente novas contas após X horas é uma ideia fantástica, obrigado por adicioná-la!
Algumas melhorias possíveis para este plugin:
É possível fazê-lo funcionar desde o início na página de registro para que os spammers nem consigam se inscrever?
Poderiam ser implementados limites configuráveis pelo administrador para especificar quantos “hits” no banco de dados do SFS para nome de usuário, e-mail e IP para considerá-lo um spammer?
Um botão de administrador para denunciar um usuário e suas postagens ao SFS seria bom.
Notei que o StopForumSpam está fora do ar no momento, mostrando “muitas conexões de banco de dados” - é possível que este plugin seja parte do problema? Este plugin pode aplicar um limite de taxa, se já não o faz?
(E, como este plugin reage se não conseguir uma boa resposta do serviço?)
Introduzi uma nova configuração na versão 2.0 chamada Stopforumspam Minimum Entries Found (Mínimo de Entradas Encontradas no Stopforumspam). Por padrão, esta configuração está definida como 1. Você pode aumentar o valor para ajustar o limite de correspondências encontradas com base em e-mail, nome de usuário ou endereço IP.
Além disso, quando um usuário é silenciado, o motivo agora inclui o número de ocorrências.
Eu tenho, desde que permaneçam dentro do escopo do projeto original. Se você está procurando expandir além da minha visão inicial, então sinta-se à vontade para criar um fork.
Embora eu não possa garantir que ele nunca falhará devido ao cronograma agressivo de lançamentos do Discourse, ele está totalmente funcional com a versão beta mais recente. Atualmente, estou executando-o em todos os meus fóruns com 3.5.0.beta2-dev.
Instalei este plugin recentemente, mas acho que ele ainda não pegou ninguém (tenho certeza que pegará, pois vi com bastante frequência IPs de novos usuários no stopforumspam).\n\nQuando uma postagem é detectada, ela vai para a fila de revisão?
Não, na minha opinião isso meio que anularia o propósito do plugin, que é basicamente um sistema totalmente automatizado e sem intervenção para bloquear spammers confirmados, sem tempo de moderação envolvido. Mas você pode verificar em /admin/users/list/silenced e os que foram silenciados pelo plugin mostram o motivo como “User was found in StopForumSpam”.
Tive muitos spammers por anos no meu fórum e tentei várias coisas para minimizar as ações dos administradores. Tenho confiança de que este plugin fará um trabalho incrível, pelo que vejo!
Nunca tive um resultado falso positivo (ou seja, toda vez que encontra algo, é algo que está no banco de dados SFS).
Uma coisa a estar ciente é que a API tem uma limitação, e você pode obter uma correspondência no endereço de e-mail que não corresponde exatamente ao endereço de e-mail - o SFS irá identificar o domínio como um “domínio tóxico”, mas a API não informa isso. Usuários com endereços de e-mail de um desses domínios aparecerão como uma correspondência de e-mail, mas você não encontrará o e-mail exato deles no banco de dados SFS ao procurar.
O banco de dados é um esforço comunitário, então há uma chance de que o usuário não seja realmente um spammer, mas foi identificado por alguém como spammer por algum motivo. É raro, mas acontece (por isso o SFS tem um processo de “recurso”).
Até agora, eu o configurei para verificar apenas correspondências de endereço de e-mail, que é o identificador mais exclusivo. Correspondências de endereço IP e nome de usuário são muito mais propensas a falsos positivos, então desativei essas verificações. Mas agora que o limite é configurável, posso definir um limite muito alto de cerca de 30 correspondências para endereços IP e talvez nomes de usuário.
Bom ponto para se ter em mente, levei muito tempo para descobrir isso. Embora, honestamente, esses “domínios tóxicos” tenham o nome certo, e qualquer usuário que se registre com um desses e-mails quase certamente tem más intenções de spam ou de evitar um banimento por trolling/assédio repetido. Felizmente, este plugin apenas silencia o usuário, então, se eles fossem de alguma forma um falso positivo, eles ainda podem entrar em contato com a equipe com este outro plugin (na minha opinião essencial) habilitado: