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.
Hallo, vielen Dank @msinger für dieses Plugin, ich benutze SFS seit Jahren in einem Nicht-Discourse-Forum und es hilft definitiv.
Die Option, neue Konten nach X Stunden erneut zu überprüfen, ist eine fantastische Idee, danke, dass Sie sie hinzugefügt haben!
Ein paar mögliche Verbesserungen für dieses Plugin:
Ist es möglich, es von Anfang an auf der Registrierungsseite funktionieren zu lassen, damit Spammer sich gar nicht erst anmelden können?
Könnten vom Administrator konfigurierbare Schwellenwerte implementiert werden, um anzugeben, wie viele Treffer in der SFS-Datenbank für Benutzername, E-Mail und IP erforderlich sind, um ihn als Spammer zu betrachten?
Ein Admin-Button, um einen Benutzer und seine Beiträge an SFS zu melden, wäre schön.
Mir ist aufgefallen, dass StopForumSpam derzeit nicht erreichbar ist und “zu viele Datenbankverbindungen” anzeigt – ist es möglich, dass dieses Plugin Teil des Problems ist? Könnte dieses Plugin eine Ratenbegrenzung anwenden, falls es das nicht bereits tut?
(Und wie reagiert dieses Plugin, wenn es keine gute Antwort vom Dienst erhalten kann?)
Ich habe in Version 2.0 eine neue Einstellung namens Stopforumspam Minimum Entries Found eingeführt. Standardmäßig ist diese Einstellung auf 1 gesetzt. Sie können den Wert erhöhen, um den Schwellenwert für Übereinstimmungen basierend auf E-Mail, Benutzername oder IP-Adresse anzupassen.
Zusätzlich wird nun beim Schweigen eines Benutzers der Grund für die Anzahl der Vorkommnisse angegeben.
Das habe ich, solange sie im Rahmen des ursprünglichen Projekts bleiben. Wenn Sie über meine ursprüngliche Vision hinaus erweitern möchten, können Sie gerne eine Abspaltung erstellen.
Obwohl ich nicht garantieren kann, dass es aufgrund des aggressiven Release-Zeitplans von Discourse niemals kaputt gehen wird, ist es voll funktionsfähig mit der neuesten Beta-Version. Ich betreibe es derzeit auf all meinen Foren mit 3.5.0.beta2-dev.
Ich habe dieses Plugin kürzlich installiert, aber ich glaube nicht, dass es bisher jemanden erwischt hat (ich bin sicher, dass es passieren wird, da ich ziemlich oft die IPs einiger neuer Benutzer auf stopforumspam gesehen habe).
Wenn ein Beitrag erkannt wird, wird er dann in die Überprüfungswarteschlange gestellt?
Nein, meiner Meinung nach würde das den Zweck des Plugins irgendwie zunichtemachen, das im Grunde ein völlig automatisiertes System zur Sperrung bestätigter Spammer ohne Moderationszeit ist. Aber Sie können unter /admin/users/list/silenced nachsehen, und die, die vom Plugin gesperrt wurden, zeigen als Grund “User was found in StopForumSpam” an.
Ich hatte jahrelang viele Spammer in meinem Forum und habe verschiedene Dinge versucht, um die Aktionen der Administratoren zu minimieren. Ich bin zuversichtlich, dass dieses Plugin eine großartige Arbeit leisten wird, so wie ich es sehe!
Ich habe es noch nie eine falsch-positive (d.h. jedes Mal, wenn es etwas findet, ist es etwas, das in der SFS-Datenbank ist) erzeugen sehen.
Eine Sache, die man beachten sollte, ist, dass die API eine Einschränkung hat, und Sie können eine Übereinstimmung bei der E-Mail-Adresse erhalten, die nicht genau mit der E-Mail-Adresse übereinstimmt – SFS wird die Domain als eine “toxische Domain” identifizieren, aber die API sagt Ihnen das nicht. Nutzer mit E-Mail-Adressen von einer dieser Domains werden als E-Mail-Übereinstimmung angezeigt, aber Sie werden ihre genaue E-Mail im SFS-Datenbank beim Suchen nicht finden.
Die Datenbank ist eine Gemeinschaftsinitiative, daher besteht die Möglichkeit, dass der Nutzer kein Spammer ist, sondern aus irgendeinem Grund von jemandem als Spammer identifiziert wurde. Es ist selten, aber es kommt vor (deshalb hat SFS einen “Einspruch”-Prozess.
Bis jetzt hatte ich es so konfiguriert, dass nur E-Mail-Adressen abgeglichen werden, was das eindeutigste Identifikationsmerkmal ist. IP-Adressen und Benutzernamen sind viel anfälliger für Fehlalarme, daher habe ich diese Prüfungen deaktiviert. Aber jetzt, da der Schwellenwert konfigurierbar ist, könnte ich einen sehr hohen Schwellenwert von z. B. 30 Übereinstimmungen für IP-Adressen und vielleicht Benutzernamen festlegen.
Ein guter Punkt, den man im Hinterkopf behalten sollte. Es hat lange gedauert, bis ich das herausgefunden habe. Obwohl ehrlich gesagt diese „toxischen Domains“ treffend benannt sind und jeder Benutzer, der sich mit einer solchen E-Mail-Adresse registriert, mit ziemlicher Sicherheit böswillige Absichten hat, wie z. B. Spamming oder die Umgehung eines Banns wegen wiederholten Trollens/Belästigens. Glücklicherweise unterdrückt dieses Plugin den Benutzer nur. Wenn es sich also um einen Fehlalarm handelte, können sie das Personal immer noch mit diesem anderen (meiner Meinung nach wesentlichen) Plugin kontaktieren: