我们的论坛上有一大堆垃圾用户在发布垃圾亚马逊链接。我已经设置了监视词来捕获那些亚马逊链接,但它没有起作用。然后我做了更深入的研究,我意识到他们是如何逃脱的:首先,这些垃圾用户发布一个正常的回复,然后在几分钟后,他们编辑回复并添加一个垃圾亚马逊链接!编辑没有触发监视词!我相信这是 Discourse 的一个 bug。你能修复它吗?
我在本地尝试向现有帖子添加一个监视词,它正确地替换了该词。
您能否提供一个应被移除的链接的具体示例以及您的监视词设置的屏幕截图?
Thank you! See this spam post for example: 分期付款对信用分的影响 - #3,来自 briane - 信用分数 - 美卡论坛
And this is our watched words setting:
您监视的单词是 t.co/,垃圾邮件帖子中的链接是 https://t.co/rX42eIcsjD,因此它应该会触发监视单词。但有一件事可能导致它没有触发,那就是链接看起来像下面这样,所以监视单词的设置可能适用于它,而不是 t.co/。\n\n
Thanks. The following is the exact reply copied by our admin account, and i hope this can help your study:
谢谢分享~ 说到apple,apple airpods pro耳机在30% off,link: www.amazon.com/dp/B09JQMJHXY ,
这种价格怎样?
我已经更改了标题以更好地反映问题。用户界面没有任何提示表明您不能将 URL 用作监视词,但目前它不起作用。我们正在调查此事,并将在有更新后回复。
另外,我也不确定这是否是一个 bug。@JammyDodger 你怎么看?
这很难说。这是一个长期存在的疏忽,还是要求代码做一些从未有过的事情?我认为如果它也能捕捉到链接文本,那肯定是一个有用的反垃圾邮件工具,但显然我缺乏技术技能,不知道这是否要求太多。 ![]()
您好,您编辑的标题未能反映问题。我今天再次核实:如果用户直接发布链接,则监视词在 URL 上可以正常工作。问题仅在用户先发布内容,然后编辑回复时才会出现。编辑和保存过程不会触发监视词功能。
请参见上文。问题不在于监视的词语是否在网址上生效。问题在于当用户编辑其回复时,监视的词语功能不起作用。
重现错误的步骤如下:
将“thisisjustatest”添加到监视词列表中。
使用非管理员用户,发布包含“thisisjustatest”的回复,然后将触发监视词。
使用非管理员用户,先发布包含其他词语的回复,然后编辑回复以添加词语“thisisjustatest”,此时将不会触发监视词,用户将能够成功地将此词语添加到回复中。
我已经试过了。![]()
- 将
thisisjustatest添加到“阻止的监视词”中 - 使用 TL2 测试用户发布
This is a reply - 仍然使用 TL2 测试用户以编辑模式打开帖子
- 将
thisisjustatest与现有的This is a reply文本一起粘贴进去 - 编辑
- 监视词成功阻止了编辑
- 将“编辑宽限期”设置为 1 后重复测试。结果相同
但是,当我尝试在“阻止的监视词”中放入 (我忘了添加通配符 t.co/ 并使用 TL2 测试用户发布垃圾邮件 谢谢分享~ 说到apple,apple airpods pro耳机在30% off,link: [www.amazon.com/dp/B09JQMJHXY](https://t.co/rX42eIcsjD) ,\n这种价格怎样? 消息时,它第一次就让我发布了,无需返回编辑。
)
您是否尝试过在您自己的网站上发布该链接? thisisjustatest 测试对您有效吗?如果有效,您是否可以提供任何其他详细信息,以便我在我的测试网站上获得相同的结果?
我进行了相同的测试,一个 1 级用户可以毫无问题地通过编辑添加“thisisjustatest”。具体来说,我在“需要批准”类型的监视词中添加了“thisisjustatest”。也许这是我们测试之间的区别?
是的,这就是区别。我尝试将“thisisjustatest”添加到监视词列表的“阻止”类型中,如果新回复包含监视词,编辑将被阻止。但是,“需要批准”类型的监视词在编辑时不起作用。
当信任等级为1的用户直接发布此消息时,监视词可以正常工作,并将消息发送给管理员进行首次审核:“谢谢分享~ 说到apple,apple airpods pro耳机在30% off,link: [www.amazon.com/dp/B09JQMJHXY](https://t.co/rX42eIcsjD) , 这种价格怎样?”
只有当用户编辑现有帖子时,问题才会出现。
我想对于我自己的特定问题,我可以直接将监视词 *t.co/* 从“需要批准”移至“阻止”监视词列表中。
但是,我认为编辑可以绕过“需要批准”类型的监视词是一个错误。这取决于您是否要将其视为错误并修复它,还是保持原样。
我似乎忘了为 t.co/ 测试添加通配符。
再次使用 *t.co/* 运行,确实能如预期般首次阻止垃圾链接。![]()
但我认为你已经发现了区别。批准与阻止是不同的,尽管我承认对编辑和初始发布进行某种监督是有道理的。我不确定这是否算是一个错误,因为我认为它的工作方式与其他主题/帖子批准方法相同?不过,这会是一个很好的补充。
一个帖子被拆分到一个新主题:将已批准帖子的编辑重新发送到批准队列

