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 个赞
您好,非常感谢 @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 个赞