当机器人攻击!

时间:2008-09-21 18:13:12

标签: security captcha spam-prevention bots

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

27 个答案:

答案 0 :(得分:23)

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

但是,在一天结束的时候,如果你真的,真的,不希望机器人通过你的表格发送东西,你会想要把一个CAPTCHA放在它上面 - 最好的一个我见过照顾大部分事情都是reCAPTCHA - 但感谢印度的CAPTCHA解决市场以及各地垃圾邮件制造者的聪明才智,这些都是一直都没有成功的。我会注意使用“巧妙”的东西,但有点'在那里',因为它对于那些至少在某种程度上习惯于你的常规CAPTCHA的用户来说更像是一个'wtf'。

答案 1 :(得分:19)

令人震惊,但这里的几乎所有回复都包括某种形式的CAPTCHA。 OP想要一些不同的东西,我想也许他想要一些真正有用的东西,甚至可能解决真正的问题 CAPTCHA 工作,即使它确实 - 这是错误的问题 - 人类仍然可以充斥你的系统,根据定义,CAPTCHA不会阻止它(因为它的设计只是为了告诉你是否是一个人与否 - 不是说它做得那么好......)

那么,其他 的其他解决方案是什么?嗯,这取决于你的系统和你的需求。 例如,如果您要做的就是限制用户填写“与我联系”表单的次数,您可以简单地限制每个用户每小时/每天/每天提交的请求数量。如果您的用户是匿名用户,可能需要根据IP地址进行限制,并偶尔将IP列入黑名单(尽管这也可能被规避,并导致其他问题)。 如果您指的是论坛或博客评论(例如此评论),那么我使用它越多,我就越喜欢该解决方案。经过身份验证的用户,授权(基于声誉,不太可能通过洪水累积),限制(一天可以做多少),偶尔的CAPTCHA,以及最后社区审核以清理通过的少数人 - 所有组合提供一个体面的解决方案。 (我想知道杰夫是否可以提供一些关于垃圾邮件和其他邮件实际通过的信息......?)

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

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

答案 2 :(得分:12)

让用户可以计算:

3和8的总和是多少?

顺便说一下:只是微软研究的一个有趣的方法:Asirra。

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

它会向您显示几张图片,您必须识别具有给定图案的图片。

答案 3 :(得分:10)

尝试Akismet

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

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

更新:我们已开始在我们的Rails应用Rakismet上使用ruby库Yarp.com。到目前为止,它一直在努力阻止垃圾邮件机器人。

答案 4 :(得分:7)

Ned Batchelder编写了一种技术,将哈希与蜜罐结合起来,用于一些邪恶有效的机器人预防。没有验证码,只有代码。

它出现在Stopping spambots with hashes and honeypots

  

我们可以通过让机器人难以成功发布,或让他们无意中将自己标识为机器人来阻止机器人停止机器人。这消除了人们的负担,并使评论表格不受可见的反垃圾邮件措施的影响。

     

这种技术是我在这个网站上阻止垃圾邮件的方法。有用。这里描述的方法根本不看内容。它可以通过基于内容的预防(如Akismet)进行扩充,但我发现它本身非常有效。

答案 5 :(得分:7)

一个非常简单的方法,它不会给用户带来任何负担,只是在页面加载后禁用提交按钮一秒钟。我在一个持续发送垃圾邮件的公共论坛上使用它,从那时起就停止了它们。

答案 6 :(得分:5)

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

答案 7 :(得分:4)

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

虽然有趣但我确信军备竞赛也会压倒这些系统。

答案 8 :(得分:4)

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

答案 9 :(得分:3)

对于人类主持人,如果机器人足够聪明以使用注册帐户,那么能够轻松查找和删除来自某些IP的所有帖子或某些用户的所有帖子肯定有帮助。同样,在没有进一步管理的情况下,轻松阻止IP地址或帐户一段时间的选项将减轻人类主持人的管理负担。

使用Cookie让机器人和人类垃圾邮件发送者相信他们的帖子实际上是可见的(只有他们自己看到它)才能阻止他们(或巨魔)改变技术。让垃圾邮件制造者和巨魔看到其他垃圾邮件和巨魔邮件。

答案 10 :(得分:3)

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

当然,任何了解你采取的措施的人都可以绕过它们。说实话,如果你是特定攻击的目标,你几乎无能为力。相反,你应该专注于防止更普遍,不熟练的攻击。<​​/ p>

答案 11 :(得分:3)

以下技术对于以下技术是不可行的,但我认为这并不太遥远。处理论坛垃圾邮件也可能有点过分,但对于帐户注册或任何你想要真正确定与人类打交道的情况都很有用,他们会为此花费几分钟时间来完成过程

有2个用户试图通过他们的网络摄像头证明自己人类彼此连接,并询问他们他们所看到的人是否是人类和现场(即不是录音),例如,让他们镜像每个人其他的动作,或在一张纸上写东西。让每个人都可以与不同的用户进行几次这样的操作,并将一些录音放入混音中,他们也必须正确识别这些录音。

答案 12 :(得分:2)

动画验证码' - 滚动文字 - 仍然很容易被人识别,但如果你确定没有任何一个框提供完整的识别内容。

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

会话变量 - 检查您放入会话的变量是否是请求的一部分。会挫败那些简单地产生请求的笨拙机器人,但可能不会像浏览器那样建模机器人。

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

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

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

答案 13 :(得分:2)

Sblam是一个有趣的项目。

答案 14 :(得分:2)

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

答案 15 :(得分:2)

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

答案 16 :(得分:2)

朋友拥有最简单的反垃圾邮件方法,并且有效。

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

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

答案 17 :(得分:2)

蜜罐是一种有效的方法。 Phil Haack给出一个good honeypot method,原则上可用于任何论坛/博客/等。

您还可以编写一个跟踪垃圾邮件链接的抓取工具,并分析其网页以查看它是否为真正的链接。最明显的是包含您内容的精确副本的页面,但您可以选择其他指标。

审核和黑名单,特别是对于WordPress(或者您正在使用的任何类似软件,适用于大多数平台)的插件,都可以在低容量环境中使用。如果您的环境是低容量环境,请不要低估它给您带来的好处。如果你有时间,个人决定什么是合理的内容和什么是不能给你最大的垃圾邮件控制灵活性。

别忘了,正如其他人所指出的那样,CAPTCHA不仅限于图像中的文本识别。视觉关联,数学问题以及通过图像传递的其他非主观问题也符合条件。

答案 18 :(得分:1)

我已经看到了Asira的一些简洁的想法,要求你确定哪些图片是猫。我相信这个想法源自KittenAuth前一段时间..

答案 19 :(得分:1)

使用google image labeler等适当选择的图像,以便计算机无法识别人类可以使用的主要特征。

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

答案 20 :(得分:1)

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

答案 21 :(得分:1)

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

答案 22 :(得分:1)

据说{p> Mollom擅长阻止垃圾邮件。个人(免费)和专业版本都可用。

答案 23 :(得分:1)

我知道有些人提到了ASIRRA,但如果你去所有采用我链接的图像,它会在该链接页面上说它是猫还是狗。因此,机器人应该相对容易地去所有的采用链接。所以这个项目只是时间问题。

答案 24 :(得分:1)

只需验证电子邮件地址,让谷歌/雅虎等担心它

答案 25 :(得分:1)

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

答案 26 :(得分:-2)

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

通过这样的道具,它的价格昂贵。一个更便宜的解决方案,是一个不那么大的兄弟。