Stop Forum Spam Plugin (auto silence known spammers)

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 https://github.com/singerscreations/discourse-stopforumspam.git.


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 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

https://github.com/singerscreations/discourse-stopforumspam


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.

27 Likes

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 Like

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.

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

4 Likes

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.

3 Likes

Hi there, thanks a lot @msinger for this plugin, I’ve been using SFS for years on a non-Discourse forum and it definitely helps.

The option to recheck new accounts after X hours is a fantastic idea, thanks for adding it!

A few possible improvements for this plugin:

  • Is it possible to make it work from the very beginning at the registration page so spammers can’t even sign up?
  • Could admin configurable thresholds be implemented to specify how many hits in the SFS database for username, email, and IP in order to consider it a spammer?
  • An admin button to report a user and its posts to SFS would be nice.

Thanks again

1 Like

Does this plugin work with the latest version of discourse?

I notice StopForumSpam is down at present, showing “too many database connections” - is it possible this plugin is part of the problem? Could this plugin apply a rate limit, if it doesn’t already?

(And, how does this plugin react if it can’t get a good response from the service?)