26

除了 CAPTCHA 之外,还有哪些流行的垃圾邮件预防方法?

4

27 回答 27

23

我曾尝试做“蜜罐”,在其中放置一个字段,然后用 CSS 将其隐藏(对于禁用样式表的任何人,将其标记为“留空”),但我发现很多机器人能够很快通过它。还有一些技术,例如将字段设置为某个值并使用 JS 更改它们、计算加载时间和提交时间之间的时间、检查引用 URL 以及其他一百万种事情。他们都有自己的陷阱,几乎你所能希望的就是尽可能多地过滤他们,同时不要疏远你在这里的目标:用户。

不过,归根结底,如果你真的,真的,不希望机器人通过你的表单发送东西,你会想在上面放一个验证码——我见过的最好的一个可以处理几乎所有东西都是reCAPTCHA - 但由于印度的 CAPTCHA 解决市场和各地垃圾邮件发送者的独创性,这甚至不是一直成功。我会小心使用一些“巧妙”但有点“外面”的东西,因为对于至少有点习惯于你通常的验证码的用户来说,它更像是一个“wtf”。

于 2008-09-21T18:18:53.620 回答
18

令人震惊,但这里的几乎所有回复都包含某种形式的验证码。OP想要一些不同的东西,我想也许他想要一些真正有效的东西,甚至可能解决真正的问题。
CAPTCHA不起作用,即使它起作用了——这是错误的问题——人类仍然可以淹没你的系统,根据定义,CAPTCHA 不会阻止这种情况(因为它的设计只是为了判断你是否是人类——而不是它做得很好...)

那么,还有哪些其他解决方案?好吧,这取决于...取决于您的系统和您的需求。例如,如果您要做的只是限制用户可以填写“联系我”表单的次数,那么您可以简单地限制每个用户每小时/每天/任何时间可以提交的请求数。如果您的用户是匿名用户,您可能需要根据 IP 地址进行节流,并且偶尔将某个 IP 列入黑名单(尽管这也可以被规避,并导致其他问题)。
如果您指的是论坛或博客评论(例如这个),那么我使用它的次数越多,我就越喜欢该解决方案。经过身份验证的用户、授权(基于声誉,不太可能通过泛滥累积)、限制(你一天可以做多少)、偶尔的验证码,最后是社区审核以清理少数通过的用户——所有这些都结合在一起提供一个体面的解决方案。(我想知道 Jeff 是否可以提供一些关于垃圾邮件和其他恶意邮件实际通过多少的信息......?)

另一个要考虑的控制(不知道他们是否在这里)是某种形式的 IDS/IPS - 如果您可以检测和识别垃圾邮件,您可以阻止该模式。审核手动填充需要,在这里...

请注意,其中任何一项都不能阻止垃圾邮件,但会逐渐降低概率,从而降低盈利能力。这改变了经济等式,并让 CAPTCHA 实际上提供了足够值得的价值 - 因为它不再值得垃圾邮件发送者打扰它或绕过它(感谢其他控制)。

于 2008-09-21T20:42:51.043 回答
12

让用户可以计算:

3和8之和是多少?

顺便说一句:刚刚浏览了微软研究院的一个有趣的方法:Asirra。

http://research.microsoft.com/asirra/

它向您展示了几张图片,您必须识别具有给定主题的图片。

于 2008-09-21T18:15:30.773 回答
10

试试Akismet

从可用性的角度来看,验证码或任何形式的仅限人类的问题都是可怕的。有时它们是必要的,但我更喜欢使用 Akismet 等过滤器来杀死垃圾邮件。

Akismet最初是为阻止 WordPress 博客上的垃圾评论而构建的,但该 API 能够适应其他用途。

更新:我们已经开始在我们的 Rails 应用程序Yarp.com上使用 ruby​​ 库Rakismet。到目前为止,它在阻止垃圾邮件机器人方面一直很有效。

于 2008-09-21T21:33:01.530 回答
7

一个不给用户带来负担的非常简单的方法是在页面加载后禁用提交按钮一秒钟。我在一个有连续垃圾邮件帖子的公共论坛上使用它,从那以后它就停止了它们。

于 2008-09-21T19:59:10.040 回答
7

Ned Batchelder 编写了一种将哈希与蜜罐相结合的技术,用于一些非常有效的 bot 预防。没有验证码,只有代码。

它在Stopping spabots with hashes 和 honeypots

与其通过让人们识别自己来阻止机器人,我们可以通过让他们难以成功发布帖子或让他们无意中将自己识别为机器人来阻止机器人。这减轻了人们的负担,并使评论表单没有可见的反垃圾邮件措施。

这种技术是我防止此站点上的垃圾邮件程序的方法。有用。这里描述的方法根本不看内容。它可以通过诸如 Akismet 之类的基于内容的预防来增强,但我发现它本身就可以很好地工作。

于 2008-10-01T02:58:34.877 回答
5

http://chongqed.org/维护活跃垃圾邮件来源的黑名单以及在垃圾邮件中宣传的 URL。我发现后者在论坛中过滤帖子非常有效。

于 2008-09-21T18:55:43.907 回答
4

我观察到的最常见的问题是围绕用户输入来解决简单的谜题,例如以下是一张猫的图片。(显示围绕猫的狗的缩略图图片)。或简单的数学问题。

虽然很有趣,但我相信军备竞赛也会让这些系统不堪重负。

于 2008-09-21T18:16:59.350 回答
4

您可以使用Recaptcha至少使验证码有用。然后你可以用简单的口头数学问题或类似的问题提出问题。微软的Asirra可以让你找到猫和狗的照片。当垃圾邮件发送者无法从服务中获得足够好处时,要求有效的电子邮件地址来激活帐户会阻止垃圾邮件发送者,但也可能会阻止普通用户。

于 2008-09-21T18:19:13.087 回答
3

以今天的技术,以下是不可行的,但我认为它离得太远了。处理论坛垃圾邮件也可能有点矫枉过正,但对于帐户注册或任何您想确定自己是在与人类打交道并且他们会准备好花费几分钟来完成的情况可能很有用过程。

让 2 个试图证明自己是人类的用户通过他们的网络摄像头相互联系,并询问他们所看到的人是否是真人并且是活生生的(即不是录音),例如让他们镜像彼此的动作,或在一张纸上写一些东西。让每个人对不同的用户进行几次这样的操作,然后将一些录音加入到混音中,他们也必须正确识别这些录音。

于 2008-09-24T01:57:45.043 回答
3

论坛上一种流行的方法是简单地将帖子少于 10 条的成员的线程排入审核队列。当然,如果您没有版主,或者它不是论坛,这无济于事。一种更通用的方法是计算超链接与文本的比率。通常,垃圾邮件包含大量超链接,您可以通过这种方式捕获很多信息。同样是比较连续帖子的内容。只是不允许非常相似的连续帖子。

当然,任何了解您采取的措施的人都将能够绕过它们。老实说,如果您是特定攻击的目标,您将无能为力。相反,您应该专注于防止更一般的、不熟练的攻击。

于 2008-09-24T02:04:35.433 回答
3

对于人工版主来说,如果机器人足够聪明,可以使用注册帐户,那么能够轻松地查找和删除来自某个 IP 的所有帖子,或者来自某个用户的所有帖子,肯定会有所帮助。同样,无需进一步管理即可轻松阻止 IP 地址或帐户一段时间的选项将减轻人工审核员的管理负担。

使用 cookie 使机器人和垃圾邮件发送者相信他们的帖子实际上是可见的(虽然只有他们自己看到)阻止他们(或巨魔)改变技术。让垃圾邮件发送者和巨魔看到其他垃圾邮件和巨魔消息。

于 2009-06-18T16:12:11.527 回答
2

像这种Invisible Captcha系统这样的Javascript 评估技术要求浏览器在接受页面提交之前评估 Javascript。当用户没有通过仅显示传统的 CAPTCHA 测试来启用 Javascript 时,它会很好地回退。

于 2008-09-21T18:15:29.180 回答
2

蜜罐是一种有效的方法。Phil Haack 提供了一种很好的蜜罐方法,原则上可以用于任何论坛/博客/等。

您还可以编写一个跟踪垃圾邮件链接并分析其页面以查看它是否是真实链接的爬虫。最明显的是具有您内容的精确副本的页面,但您可以选择其他指标。

审核和黑名单,尤其是像这些用于WordPress的插件(或任何您使用的,类似软件可用于大多数平台),将在低容量环境中工作。如果您的环境是低容量环境,请不要低估这给您带来的优势。个人决定什么是合理的内容,什么不是,如果您有时间,您可以在垃圾邮件控制方面获得最大的灵活性。

不要忘记,正如其他人所指出的,验证码不仅限于从图像中识别文本。通过图像传递的视觉联想、数学问题和其他非主观问题也符合条件。

于 2008-09-21T18:22:06.233 回答
2

动画验证码 - 滚动文本 - 仍然很容易被人类识别,但如果您确保没有任何帧提供完整的识别功能。

多项选择题 - 只需要一个______和一个微笑。这里的想法是用户必须选择/理解。

会话变量 - 检查您放入会话的变量是否是请求的一部分。将挫败仅生成请求的愚蠢机器人,但可能不会挫败像浏览器一样建模的机器人。

数学问题 - 2 + 5 = - 这又是一个容易解决但阻止机器人生成响应的问题。

图像网格 - 您创建图像网格 - 选择 1 或 2 个特定类型,例如 3x3 网格动物图片,您必须挑选网格上的所有鸟类。

希望这能为您的新解决方案提供一些想法。

于 2008-09-21T18:41:32.973 回答
2

一个朋友有最简单的反垃圾邮件方法,而且很有效。

他有一个自定义文本框,上面写着“请输入数字 4”。

他的博客相当受欢迎,但仍然不够受欢迎,机器人无法弄清楚(还)。

于 2008-09-21T19:06:24.067 回答
2

请记住让那些不使用传统浏览器的人可以访问您的解决方案。iPhone 人群不容忽视,有视力和认知问题的人也不应被排除在外。

于 2008-09-21T21:14:13.603 回答
2

Sblam是一个有趣的项目。

于 2009-06-18T16:05:04.533 回答
1

不可见的表单字段。为用户创建一个不会出现在屏幕上的表单域。使用 display: none 作为 css 样式,这样它就不会出现。为了便于访问,您甚至可以放置隐藏文本,以便使用屏幕阅读器的人知道不要填写。机器人几乎总是填写所有字段,因此您可以阻止任何填写不可见字段的帖子。

于 2008-09-21T18:18:19.893 回答
1

根据垃圾邮件发送者 IP 地址黑名单阻止访问。

于 2008-09-21T18:19:33.540 回答
1

蜜罐技术在页面顶部放置了一个不可见的诱饵形式。用户没有看到它并提交了正确的表单,机器人提交了错误的表单,它什么都不做或禁止他们的 IP。

于 2008-09-21T18:20:28.700 回答
1

我已经看到了一些与Asira类似的巧妙想法,它们要求您识别哪些图片是猫。我相信这个想法源于不久前的KittenAuth ..

于 2008-09-23T02:35:26.490 回答
1

Use something like the google image labeler with appropriately chosen images such that a computer wouldn't be able to recognise the dominant features of it that a human could.

将向用户显示图像,并且必须键入与其相关联的单词。他们将继续显示图像,直到他们输入的字词与之前用户为同一图像输入的字词一致。有些图像是新的,它们没有被测试,但被包括在内以记录与它们相关的单词。根据您的观众,您还可以选择只有他们会识别的图像。

于 2008-09-24T01:57:08.587 回答
1

据说莫洛姆擅长阻止垃圾邮件。个人(免费)和专业版本均可用。

于 2008-11-07T22:56:31.660 回答
1

我知道有些人提到了 ASIRRA,但如果你去所有图片的“收养我”链接,它会在链接页面上显示它是猫还是狗。因此,机器人访问所有的采用链接应该相对容易。因此,该项目只是时间问题。

于 2009-01-16T16:17:15.787 回答
1

只需验证电子邮件地址,让 google/yahoo 等担心它

于 2009-06-18T15:55:22.957 回答
-2

您可以获取一些设备 ID 软件 the41 有一些欺诈预防软件,可以检测用于访问您网站的硬件。我相信他们用它来抓捕欺诈者,但可以用来阻止机器人。一旦您确定了机器人正在使用的设备,您就可以阻止该设备。上次检查时,它甚至可以通过电话网络追踪您的路线(不是您的 Geo-IP !!)因此,如果您愿意,甚至可以阻止邮政编码。

通过如此道具它很昂贵。一个更好的更便宜的解决方案,它是一个少一点的老大哥。

于 2008-09-23T13:36:14.967 回答