Plugin Stop Forum Spam

Overview

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 UsersSilenced section of the Discourse Admin.


Installation

Follow these instructions to install this plugin in your Discourse installation.

Note: This plugin’s git clone url is GitHub - singerscreations/discourse-stopforumspam.


Configuration

After installing this plugin in Discourse, you’ll be able to configure the following settings in the SettingsPlugins 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.

33 « J'aime »

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.

1 « J'aime »

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.

2 « J'aime »

It’s very effective, but it’s certainly not foolproof.

6 « J'aime »

An improvement proposal:

  • Add option to put suspicious users in the review queue directly after login (instead of silencing)
  • Add option to put suspicious users in the review queue after their first posting
  • Add option to the review queue actions: “Delete user and report to SFS”

Certainly works only for forums with little spam volume.

5 « J'aime »

Salut, merci beaucoup @msinger pour ce plugin, j’utilise SFS depuis des années sur un forum non-Discourse et cela aide vraiment.

L’option de revérifier les nouveaux comptes après X heures est une idée fantastique, merci de l’avoir ajoutée !

Quelques améliorations possibles pour ce plugin :

  • Est-il possible de le faire fonctionner dès le début sur la page d’inscription afin que les spammeurs ne puissent même pas s’inscrire ?
  • Des seuils configurables par l’administrateur pourraient-ils être implémentés pour spécifier combien de correspondances dans la base de données SFS pour le nom d’utilisateur, l’e-mail et l’IP afin de le considérer comme un spammeur ?
  • Un bouton d’administration pour signaler un utilisateur et ses publications à SFS serait bien.

Merci encore

1 « J'aime »

Ce plugin fonctionne-t-il avec la dernière version de Discourse ?

Je remarque que StopForumSpam est actuellement hors service, affichant « trop de connexions à la base de données » - est-il possible que ce plugin fasse partie du problème ? Ce plugin pourrait-il appliquer une limite de débit, s’il ne le fait pas déjà ?

(Et, comment ce plugin réagit-il s’il ne peut pas obtenir une bonne réponse du service ?)

1 « J'aime »

Je sais que la question date de décembre, mais… je pense que c’était un coup de chance ; Stop Forum Spam a généralement été opérationnel.

Ce plugin fonctionne par tâches asynchrones, il ne donc pas nuire à l’expérience utilisateur si Stop Forum Spam est hors service.

2 « J'aime »

@msinger Je vois que cela fait cinq ans que vous vous êtes engagé sur ce plugin.

Avez-vous l’intention d’apporter des modifications et des améliorations à ce plugin, ou êtes-vous passé à autre chose et est-il raisonnable que quelqu’un en fasse un fork ?

Merci !

2 « J'aime »

J’ai introduit un nouveau paramètre dans la version 2.0 nommé Nombre minimum d’entrées Stopforumspam trouvées. Par défaut, ce paramètre est réglé sur 1. Vous pouvez augmenter la valeur pour ajuster le seuil des correspondances trouvées en fonction de l’e-mail, du nom d’utilisateur ou de l’adresse IP.

De plus, lorsqu’un utilisateur est réduit au silence, la raison inclut maintenant le nombre d’occurrences.

3 « J'aime »

Oui, tant qu’ils restent dans le cadre du projet d’origine. Si vous cherchez à aller au-delà de ma vision initiale, n’hésitez pas à créer une fourche.

3 « J'aime »

Bien que je ne puisse garantir qu’il ne tombera jamais en panne en raison du calendrier de publication agressif de Discourse, il est entièrement fonctionnel avec la dernière version bêta. Je l’exécute actuellement sur tous mes forums avec 3.5.0.beta2-dev.

3 « J'aime »

J’ai récemment installé ce plugin, mais je ne pense pas qu’il ait encore intercepté quelqu’un (je suis sûr que cela arrivera, car j’ai assez souvent vu les adresses IP de nouveaux utilisateurs sur stopforumspam).\n\nLorsqu’un message est détecté, est-il envoyé dans la file d’attente de révision ?

Non, à mon avis, cela irait à l’encontre de l’objectif du plugin, qui est essentiellement un système entièrement automatisé et sans intervention manuelle pour bloquer les spammeurs confirmés, sans aucun temps de modération. Mais vous pouvez regarder sous /admin/users/list/silenced et ceux qui ont été réduits au silence par le plugin indiquent la raison « User was found in StopForumSpam ».

1 « J'aime »

Excellent, je n’étais pas au courant de cette page.

Il semble que le plugin travaille dur !

J’ai eu de nombreux spammeurs pendant des années sur mon forum et j’ai essayé diverses choses pour minimiser les actions des administrateurs. Je suis convaincu que ce plugin fera un travail formidable, d’après ce que je vois !

2 « J'aime »

Aucun faux positif ?

Chaque compte correspondant sur stopforumspam, même avant d’utiliser ce plugin, semblait suffisamment suspect pour bannir l’utilisateur.

Je fais donc confiance à cette base de données car elle semble fiable.

2 « J'aime »

Je ne l’ai jamais vu donner un faux positif (c’est-à-dire, chaque fois qu’il trouve quelque chose, c’est quelque chose qui est dans la base de données SFS).

Une chose à garder à l’esprit est que l’API a une limitation, et vous pouvez obtenir une correspondance sur une adresse e-mail qui ne correspond pas exactement à l’e-mail - SFS identifiera le domaine comme un « domaine toxique », mais l’API ne vous le dit pas. Les utilisateurs avec des adresses e-mail provenant de l’un de ces domaines apparaîtront comme une correspondance d’e-mail, mais vous ne trouverez pas leur e-mail exact dans la base de données SFS en faisant une recherche.

La base de données est une effort communautaire, donc il y aura une chance que l’utilisateur ne soit pas réellement un spammeur, mais ait été identifié comme tel par quelqu’un pour une raison ou une autre. C’est rare, mais cela arrive (voilà pourquoi SFS dispose d’un processus « d’appel »).

2 « J'aime »

Jusqu’à présent, je l’avais configuré pour ne vérifier que les correspondances d’adresses e-mail, qui est l’identifiant le plus unique. Les correspondances d’adresses IP et de noms d’utilisateur sont beaucoup plus susceptibles d’être de faux positifs, j’ai donc désactivé ces vérifications. Mais maintenant que le seuil est configurable, je pourrais définir un seuil très élevé, comme 30 correspondances pour les adresses IP et peut-être les noms d’utilisateur.

Bon point à garder à l’esprit, il m’a fallu beaucoup de temps pour comprendre cela. Bien que, honnêtement, ces « domaines toxiques » portent bien leur nom, et tout utilisateur s’inscrivant avec l’un de ces e-mails a presque certainement de mauvaises intentions de spammer ou d’échapper à un bannissement pour trolling / harcèlement répété. Heureusement, ce plugin se contente de faire taire l’utilisateur, donc s’il s’agissait d’un faux positif, il peut toujours contacter le personnel avec ce autre plugin (IMHO essentiel) activé :

1 « J'aime »