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.
ألاحظ أن StopForumSpam معطل حاليًا، ويظهر “الكثير من اتصالات قاعدة البيانات” - هل من الممكن أن يكون هذا المكون الإضافي جزءًا من المشكلة؟ هل يمكن لهذا المكون الإضافي تطبيق حد للمعدل، إذا لم يكن كذلك بالفعل؟
(وكيف يتفاعل هذا المكون الإضافي إذا لم يتمكن من الحصول على استجابة جيدة من الخدمة؟)
لقد قدمت إعدادًا جديدًا في الإصدار 2.0 يسمى الحد الأدنى للإدخالات الموجودة في Stopforumspam. بشكل افتراضي، يتم تعيين هذا الإعداد على 1. يمكنك زيادة القيمة لضبط العتبة للمطابقات الموجودة بناءً على البريد الإلكتروني أو اسم المستخدم أو عنوان IP.
بالإضافة إلى ذلك، عندما يتم إسكات مستخدم، يتضمن السبب الآن عدد مرات الظهور.
بينما لا يمكنني ضمان أنها لن تتعطل أبدًا بسبب جدول الإصدارات العدواني لـ Discourse، إلا أنها تعمل بكامل طاقتها مع أحدث إصدار تجريبي. أقوم حاليًا بتشغيلها على جميع منتدياتي باستخدام 3.5.0.beta2-dev.
لم أقم بتثبيت هذه الإضافة مؤخرًا، لكنني لا أعتقد أنها اكتشفت أي شخص بعد (أنا متأكد من أنها ستكتشف، حيث رأيت في كثير من الأحيان عناوين IP لمستخدمين جدد على stopforumspam).\n\nعند اكتشاف منشور، هل يذهب إلى قائمة المراجعة؟
لا، في رأيي هذا من شأنه أن يقوض الغرض من المكون الإضافي، وهو في الأساس نظام آلي بالكامل لحظر البريد العشوائي المؤكد دون أي وقت للإشراف. ولكن يمكنك البحث تحت /admin/users/list/silenced وأولئك الذين تم إسكاتهم بواسطة المكون الإضافي يظهرون السبب على أنه “تم العثور على المستخدم في StopForumSpam”.
لقد واجهت العديد من مرسلي البريد العشوائي لسنوات في منتدياتي وجربت أشياء مختلفة لمحاولة تقليل إجراءات المسؤول. أنا واثق من أن هذا المكون الإضافي سيقوم بعمل رائع، مما أراه!
لم أواجه مطلقًا حالة إعطاء نتيجة إيجابية كاذبة (أي، في كل مرة يجد فيها شيئًا، هو شيء موجود في قاعدة بيانات SFS).
شيء واحد يجب أن تكون على دراية به هو أن واجهة برمجة التطبيقات لديها قيود واحدة، ويمكنك الحصول على تطابق على عنوان بريد إلكتروني لا يتطابق تمامًا مع العنوان في قاعدة البيانات - ستقوم SFS بتحديد النطاق على أنه “نطاق سام”، ولكن واجهة برمجة التطبيقات لا تخبرك بذلك. المستخدمون الذين يمتلكون عناوين بريد إلكتروني من أحد تلك النطاقات سيظهرون كتطابق بريد إلكتروني، لكنك لن تجد البريد الإلكتروني الدقيق الخاص بهم في قاعدة بيانات SFS عند البحث.
قاعدة البيانات هي جهد مجتمعي، لذلك ستكون هناك فرصة ألا يكون المستخدم بالفعل مرسل بريد عشوائي، لكن تم تحديده بواسطة شخص ما على أنه مرسل بريد عشوائي لسبب معين. الأمر نادر، لكنه يحدث (لهذا السبب لدى SFS عملية ‘استئناف’).
حتى الآن، قمت بتكوينه للتحقق فقط من تطابقات عنوان البريد الإلكتروني، وهو المعرف الأكثر تميزًا. تطابقات عنوان IP واسم المستخدم أكثر عرضة لنتائج إيجابية خاطئة، لذا قمت بتعطيل تلك التحققات. ولكن الآن بعد أن أصبح الحد قابلاً للتكوين، قد أقوم بتعيين حد عالٍ جدًا مثل 30 تطابقًا لعناوين IP وربما أسماء المستخدمين.
نقطة جيدة يجب وضعها في الاعتبار، لقد استغرقت وقتًا طويلاً لفهم ذلك. على الرغم من أن هذه “النطاقات السامة” سميت بحق، وأي مستخدم يسجل بعنوان بريد إلكتروني منها لديه بالتأكيد نوايا سيئة في البريد العشوائي أو التهرب من حظر بسبب المضايقات المتكررة. لحسن الحظ، هذه الإضافة تقوم فقط بإسكات المستخدم، لذلك إذا كان لديهم نتيجة إيجابية خاطئة بطريقة ما، فلا يزال بإمكانهم الاتصال بالموظفين مع تمكين هذه الإضافة الأخرى (التي أعتقد أنها ضرورية):