65.9K
CodeProject 正在变化。 阅读更多。
Home

关于垃圾邮件的计划

2013年1月2日

CPOL

5分钟阅读

viewsIcon

51643

如何缓解 CodeProject 的垃圾邮件危机。

我们目前正面临来自一小撮“电视和媒体”垃圾邮件发送者的巨大压力,他们犬儒式地挑战我们抵御此类犯罪的能力。CodeProject 的成员们正为清除这些不受欢迎的寄生虫付出非凡的努力,但采取的措施似乎并非完全令人满意。我写这篇短文的目的是与 Chris Maunder 讨论我们可以做些什么。
https://codeproject.org.cn/Messages/4462716/Re-Live-streamers.aspx[^],
https://codeproject.org.cn/Messages/4462726/Re-Live-streamers.aspx[^].

几个小时后,我脑海中闪过一个新想法,这是我们已经讨论过的想法的一个变种。我想请感兴趣的成员们对此进行思考、讨论、批评和支持。总的来说,我们需要集思广益,帮助 Chris 和其他人为网站配备更有效的垃圾邮件防护措施,这些措施既不会威胁到合法成员,也不会过度增加网站的使用和维护成本。

我回到了贝叶斯过滤的想法。我以前在我的电子邮件上成功地使用过它,但最终还是被我自己的方法取代了(这里不是讨论这个的地方,因为它不能应用于网站)。我认为,由于一些自然原因,例如人为操作/用户负担以及该方法不可避免的误报/漏报,贝叶斯过滤方法并未在电子邮件服务中占据主导地位。然而,我开始认为,如果我们使用这个想法,并加上一个特殊的“技巧”(可以进一步讨论),我们可以将其应用于 CodeProject 的保护。

这篇短文的标题沿用了 Paul Graham 的文章“A Plan for Spam”的标题:http://www.paulgraham.com/spam.html[^]。

另见另一篇文章:http://www.paulgraham.com/better.html[^]。

我认为,阅读这些文章后,这个想法就会足够清晰了。

至于实现,请看这个开源产品:http://nbayes.codeplex.com[^]。

这是 CodeProject 的一篇文章:C# 的朴素贝叶斯垃圾邮件过滤器[^]。

这只是为了说明实现不会是一个大问题。

然而,问题在于:如何决定取消垃圾邮件发送者的帐户?我们难道没有面临同样的问题:漏报/误报以及管理员过多的干预。现在请记住,我指出了对人类管理员工作量的主要问题:所需杂务没有自动化,或没有针对目标进行优化。

现在,这是主要思想

让我们颠倒一下社交的局面。与其决定取消违规者的帐户,不如让潜在的违规者申请“合法化”一篇可能发送垃圾邮件的帖子。等一下!在听我解释它实际上会是什么样子之前,不要一开始就否定这个想法。我将演示这可以以一种相当温和的方式完成。

首先,让我们记住起点。在起点,过滤器是空的(或者所有可用的过滤器都是空的),所以,如果没有关心清除垃圾邮件的成员的干预,什么也不会被过滤掉。过滤器开始填充,因为某个成员发现了垃圾邮件并将其报告为垃圾邮件。这应该是一个特殊的垃圾邮件报告操作,它将垃圾邮件内容馈送到过滤器中。过滤器开始填充,并*逐渐*获得自动检测垃圾邮件内容的能力。是的,会有一些误报/漏报。有关此过程的详细信息,请回顾 Paul Graham 的文章。

作为第一步,帖子内容不会被直接发布到 CodeProject 的内容页面(问答或其他)。相反,潜在的违规者会在一个页面上收到一条消息。类似这样

CodeProject 通知
抱歉,我们无法立即发布您的帖子。它包含一些内容被我们的过滤器检测为潜在垃圾邮件。检测是基于 CodeProject 成员之前的垃圾邮件报告。如果您认为这不是垃圾邮件,您需要在此处发布您的解释 [URL]

内容将被发送到数据库。当潜在的垃圾邮件发送者提出请求时,会生成一个包含合法化表单的页面;报告会发送到数据库,其中存储了未来帖子的状态。同样,这种情况不应该经常发生;合法成员发布消息时几乎不会收到此消息。我从使用贝叶斯过滤电子邮件的经验中知道这一点。

现在,在管理员的请求下,所有被过滤的成员消息将显示在一个页面上。通常,一眼就能判断这些消息是否是垃圾邮件。重要的是,真正的垃圾邮件发送者不太可能为他们的内容申请合法化。所以,我认为最常见的操作将是“全部批准”(有点像电影《冒牌天神》,2003;不,这不是广告,我没有兴趣推广这个商业产品,只是引用它来举例说明防护方法;我请求合法化这篇帖子 微笑 | :) )。当然,这个“全部批准”适用于等待批准/合法化的帖子。并且同样容易有一个按钮“删除所有违规帖子和成员帐户”,用于所有勾选的项目。

如果您清楚地想象了一下,您就会发现这个程序将比我们现在的程序容易得多。

访问这个批准/合法化和成员清除程序是需要讨论的事项。这方面不是最重要的。我想建议,最终清除违规者帐户的权利应留给管理员,而合法化和清除违规者帖子(从这个页面;它已经存在于问答论坛的提问页面中)的权利可以授予具有一定声望等级的成员。

请讨论这个想法并分享您的想法。也许我们可以提出我方法的一个变种,或者完全不同的东西。

感谢您对这个相当令人不快的问题的关注以及为维持本网站已付出的努力。

—SA
© . All rights reserved.