msinger
(Mike Singer)
2019 年6 月 22 日 01:01
1
概述
Stop Forum Spam 插件 (非官方)可以帮助您筛选出能够绕过 Discourse 内置垃圾邮件工具(凭借其出色的“人类能力”)的真人垃圾邮件发送者。当新用户注册您的论坛后(在他们有机会发帖之前),该插件将根据您的插件设置,将用户的电子邮件地址、论坛用户名和/或 IP 地址与 Stop Forum Spam 数据库进行比对。如果在该已知垃圾邮件发送者数据库中找到该用户,其 Discourse 用户账户将被立即自动静音。
注意: 如有需要,您可以在 Discourse 管理员的 用户 → 已静音 部分取消对该用户的静音。
安装
请按照 这些说明 将本插件安装到您的 Discourse 环境中。
注意: 本插件的 Git 克隆地址为 https://github.com/singerscreations/discourse-stopforumspam.git。
配置
在 Discourse 中安装此插件后,您可以在 Discourse 管理员的 设置 → 插件 部分配置以下设置:
stopforumspam enabled(启用 Stop Forum Spam): 启用 Stop Forum Spam 插件。这将自动静音那些在 Stop Forum Spam 已知垃圾邮件发送者数据库中的新用户。
stopforumspam check email(检查电子邮件): 如果在 Stop Forum Spam 数据库中找到电子邮件地址,则静音新用户。
stopforumspam check username(检查用户名): 如果在 Stop Forum Spam 数据库中找到用户名,则静音新用户。
stopforumspam check ip(检查 IP): 如果在 Stop Forum Spam 数据库中找到 IP 地址,则静音新用户。
stopforumspam minimum entries found(最少匹配条目数): 用户必须在 Stop Forum Spam 数据库中至少出现此次数。
stopforumspam recheck users after hours(几小时后重新检查用户): 等待多少小时后再次检查新用户,以确保他们仍未出现在 Stop Forum Spam 数据库中。设置为 0 以禁用重新检查。
注意: 如果您启用了多个检查设置,只要其中任何一个在 Stop Forum Spam 数据库中找到匹配项,该用户即被视为垃圾邮件发送者。
GitHub 仓库
https://github.com/singerscreations/discourse-stopforumspam
问题/评论/建议
虽然我不介意您直接联系我寻求帮助,但如果您能将问题、评论和/或建议发布在下面,将有助于这里的每一位成员。
33 个赞
msinger
(Mike Singer)
2019 年6 月 24 日 17:03
2
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 个赞
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 个赞
msinger
(Mike Singer)
2019 年6 月 26 日 19:22
4
It’s very effective, but it’s certainly not foolproof.
7 个赞
tmomas
(tmomas)
2020 年4 月 22 日 15:33
5
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 个赞
您好,非常感谢 @msinger 的这个插件,我已经在非 Discourse 论坛上使用了 SFS 多年,它确实很有帮助。
重新检查新账户 X 小时后的选项是一个绝妙的主意,感谢添加!
这个插件的一些可能的改进:
是否可以从一开始就在注册页面使其生效,这样垃圾邮件发送者甚至无法注册?
是否可以实现管理员可配置的阈值,以指定 SFS 数据库中用户名、电子邮件和 IP 的命中次数,才能将其视为垃圾邮件发送者?
添加一个管理员按钮,将用户及其帖子报告给 SFS 会很不错。
再次感谢
1 个赞
此插件是否与最新版本的 discourse 兼容?
Ed_S
(Ed S)
2023 年12 月 20 日 09:40
8
我注意到 StopForumSpam 目前无法访问,显示“数据库连接过多”——这个插件是否是问题的一部分?如果这个插件还没有应用速率限制,是否可以应用?
(另外,如果这个插件无法从服务中获得良好响应,它会如何反应?)
1 个赞
mcdanlj
(Michael K Johnson)
2024 年8 月 9 日 13:03
9
我知道这个问题是十二月份提出的,但是……我认为那只是个巧合;Stop Forum Spam 一直以来都运行良好。
这个插件通过异步任务工作,因此即使 Stop Forum Spam 宕机也不会影响用户体验。
2 个赞
mcdanlj
(Michael K Johnson)
2024 年8 月 10 日 13:03
10
@msinger 我看到您上次提交此插件已是五年前。
您是否考虑过对此插件进行更改和改进,或者您是否已不再维护,可以由他人分叉?
谢谢!
2 个赞
msinger
(Mike Singer)
2025 年3 月 2 日 06:08
11
我在 2.0 版本中引入了一个名为“Stopforumspam 最小发现条目数 ”的新设置。默认情况下,此设置设置为 1 。您可以增加该值以根据电子邮件、用户名或 IP 地址调整匹配项的阈值。
此外,当用户被静音时,原因现在包括出现次数。
3 个赞
msinger
(Mike Singer)
2025 年3 月 2 日 06:10
12
我有,只要它们保持在原始项目的范围内。如果您想扩展到我最初的设想之外,那么可以随意创建一个分叉(fork)。
3 个赞
msinger
(Mike Singer)
2025 年3 月 2 日 06:13
13
虽然我不能保证它永远不会因为 Discourse 激进的发布计划而出现问题,但它与最新的测试版完全兼容。我目前在我的所有论坛上都运行着它,版本是 3.5.0.beta2-dev 。
3 个赞
Canapin
(Coin-coin le Canapin)
2025 年3 月 8 日 10:47
15
我最近安装了这个插件,但我不认为它已经捕捉到任何人(我确信它会捕捉到,因为我经常看到一些新用户的 IP 出现在 stopforumspam 上)。
当帖子被检测到时,它会进入审核队列吗?
[引述=“Coin-coin le Canapin, 第15帖, 主题:121037, 用户名:Canapin”]
当检测到一篇帖子时,它会进入审核队列吗?
[/引述]
不会,在我看来那样基本上会削弱插件的目的,插件本质上是一个完全自动化的系统,用于阻止确认的垃圾信息发帖者,没有任何审核时间的参与。但你可以在 /admin/users/list/silenced 查看被静音的用户,插件静音的用户会显示原因为“用户在 StopForumSpam 中被发现”。
1 个赞
Canapin
(Coin-coin le Canapin)
2025 年3 月 8 日 13:34
17
太棒了,我不知道有这个页面。
看来插件工作很努力!
多年来,我的论坛上有很多垃圾邮件发送者,我尝试了各种方法来尽量减少版主的管理操作。从我目前看到的情况来看,我相信这个插件会做得非常出色!
2 个赞
Canapin
(Coin-coin le Canapin)
2025 年3 月 8 日 15:23
19
在 stopforumspam 上匹配到的每个账户,即使在此插件使用之前,看起来都足够可疑,可以将其封禁。
所以我只信任这个数据库,因为它看起来 是可靠的。
2 个赞
我从未遇到过它给出假阳性(也就是说,每次它找到某些东西,都在SFS数据库中)。
需要注意的是,API有一个限制,你可以得到一个与电子邮件地址不完全匹配的匹配——SFS会将域名识别为“有害域名”,但API不会告诉你这一点。来自这些域名之一的用户的电子邮件地址会显示为电子邮件匹配,但你在搜索时不会在SFS数据库中找到他们的确切电子邮件。
该数据库是社区的共同努力,因此有可能用户实际上并不是垃圾邮件发送者,而是被别人误判为垃圾邮件发送者。这种情况很少见,但确实会发生(这也是为什么SFS有一个“申诉”流程)。
2 个赞
Jakke Lehtonen:
没有误报?
到目前为止,我将其配置为仅检查电子邮件地址匹配项,这是最独特的标识符。IP 地址和用户名匹配项更有可能是误报,因此我禁用了这些检查。但现在阈值是可配置的,我可能会为 IP 地址和用户名设置一个非常高的阈值,比如 30 个匹配项。
这是一个需要牢记的好点,我花了很长时间才弄清楚。尽管说实话,那些“有毒域”名副其实,任何使用这些电子邮件注册的用户几乎肯定有不良意图,例如发送垃圾邮件或逃避因重复恶意骚扰而被禁止。幸运的是,这个插件只是让用户静默,所以如果他们是误报,他们仍然可以通过启用这个(在我看来必不可少的)插件联系工作人员:
1 个赞