Stop Forum Spam 插件

概述

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

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

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

7 个赞

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 兼容?

我注意到 StopForumSpam 目前无法访问,显示“数据库连接过多”——这个插件是否是问题的一部分?如果这个插件还没有应用速率限制,是否可以应用?

(另外,如果这个插件无法从服务中获得良好响应,它会如何反应?)

1 个赞

我知道这个问题是十二月份提出的,但是……我认为那只是个巧合;Stop Forum Spam 一直以来都运行良好。

这个插件通过异步任务工作,因此即使 Stop Forum Spam 宕机也不会影响用户体验。

2 个赞

@msinger 我看到您上次提交此插件已是五年前。

您是否考虑过对此插件进行更改和改进,或者您是否已不再维护,可以由他人分叉?

谢谢!

2 个赞

我在 2.0 版本中引入了一个名为“Stopforumspam 最小发现条目数”的新设置。默认情况下,此设置设置为 1。您可以增加该值以根据电子邮件、用户名或 IP 地址调整匹配项的阈值。

此外,当用户被静音时,原因现在包括出现次数。

3 个赞

我有,只要它们保持在原始项目的范围内。如果您想扩展到我最初的设想之外,那么可以随意创建一个分叉(fork)。

3 个赞

虽然我不能保证它永远不会因为 Discourse 激进的发布计划而出现问题,但它与最新的测试版完全兼容。我目前在我的所有论坛上都运行着它,版本是 3.5.0.beta2-dev

3 个赞

我最近安装了这个插件,但我不认为它已经捕捉到任何人(我确信它会捕捉到,因为我经常看到一些新用户的 IP 出现在 stopforumspam 上)。

当帖子被检测到时,它会进入审核队列吗?

[引述=“Coin-coin le Canapin, 第15帖, 主题:121037, 用户名:Canapin”]
当检测到一篇帖子时,它会进入审核队列吗?
[/引述]

不会,在我看来那样基本上会削弱插件的目的,插件本质上是一个完全自动化的系统,用于阻止确认的垃圾信息发帖者,没有任何审核时间的参与。但你可以在 /admin/users/list/silenced 查看被静音的用户,插件静音的用户会显示原因为“用户在 StopForumSpam 中被发现”。

1 个赞

太棒了,我不知道有这个页面。

看来插件工作很努力!

多年来,我的论坛上有很多垃圾邮件发送者,我尝试了各种方法来尽量减少版主的管理操作。从我目前看到的情况来看,我相信这个插件会做得非常出色!

2 个赞

没有误报?

在 stopforumspam 上匹配到的每个账户,即使在此插件使用之前,看起来都足够可疑,可以将其封禁。

所以我只信任这个数据库,因为它看起来是可靠的。

2 个赞

我从未遇到过它给出假阳性(也就是说,每次它找到某些东西,都在SFS数据库中)。

需要注意的是,API有一个限制,你可以得到一个与电子邮件地址不完全匹配的匹配——SFS会将域名识别为“有害域名”,但API不会告诉你这一点。来自这些域名之一的用户的电子邮件地址会显示为电子邮件匹配,但你在搜索时不会在SFS数据库中找到他们的确切电子邮件。

该数据库是社区的共同努力,因此有可能用户实际上并不是垃圾邮件发送者,而是被别人误判为垃圾邮件发送者。这种情况很少见,但确实会发生(这也是为什么SFS有一个“申诉”流程)。

2 个赞

到目前为止,我将其配置为仅检查电子邮件地址匹配项,这是最独特的标识符。IP 地址和用户名匹配项更有可能是误报,因此我禁用了这些检查。但现在阈值是可配置的,我可能会为 IP 地址和用户名设置一个非常高的阈值,比如 30 个匹配项。

这是一个需要牢记的好点,我花了很长时间才弄清楚。尽管说实话,那些“有毒域”名副其实,任何使用这些电子邮件注册的用户几乎肯定有不良意图,例如发送垃圾邮件或逃避因重复恶意骚扰而被禁止。幸运的是,这个插件只是让用户静默,所以如果他们是误报,他们仍然可以通过启用这个(在我看来必不可少的)插件联系工作人员:

1 个赞