除了CAPTCHA之外,还有哪些受欢迎的垃圾邮件预防方法?
除了CAPTCHA之外,还有哪些受欢迎的垃圾邮件预防方法?
我尝试了使用“蜜罐”技术,即在表单中添加一个字段并使用CSS隐藏它(对于那些禁用样式表的用户标记为“留空”),但我发现很多机器人可以轻易地绕过它。还有其他技术,比如将字段设置为特定值并使用JS更改它们、计算加载时间和提交时间之间的时间差、检查引荐页面的URL等等。它们都有各自的缺陷,基本上你能做的就是尽可能使用这些技术进行过滤,同时不要让你的用户感到被排斥。
但归根结底,如果你真的、真的不希望机器人通过你的表单发送信息,你需要在上面加上验证码。我见过最好的解决方案是reCAPTCHA,它几乎可以应对所有情况,但由于印度的验证码破解市场以及垃圾邮件发送者的创新思维,即使采用这种方法也不能完全成功。因此,我建议谨慎使用那些“巧妙而又与众不同”的方法,因为对于已经习惯了普通验证码的用户来说,这可能会令他们感到困惑。
令人震惊的是,几乎每个回答都包括某种形式的CAPTCHA。原帖作者想要的是不同的东西,我猜他可能想要的是实际管用的解决方案,甚至可以解决真正的问题。
CAPTCHA并不起作用,即使它起作用了——它也是错的问题——人类仍然可以淹没你的系统,并且根据定义CAPTCHA无法阻止这种情况(因为它只是设计用来判断你是不是人类——但并不能很好地做到这一点...)
那么,还有哪些其他解决方案呢?这取决于您的系统和需求。例如,如果您要做的只是限制用户每小时/每天/每周可以提交多少次“联系我”表单,您可以简单地限制每个用户可以提交多少请求。如果您的用户是匿名的,也许您需要根据IP地址进行限制,并偶尔将IP列入黑名单(尽管这也可以被规避,并引起其他问题)。
如果您正在参考论坛或博客评论(如此类),那么我使用的越多,就越喜欢这个解决方案。经过身份验证的用户、授权(基于声誉,不容易通过淹没积累)、限制(每天可以做多少)和偶尔的CAPTCHA,最后是社区管理来清理一些通过的——这些共同提供了一个不错的解决方案。(我想知道Jeff能否提供有关实际垃圾邮件和其他恶意帖子的信息...?)
还有一个要考虑的控件(不知道这里是否有),是某种IDS/IPS形式——如果您能检测和识别垃圾邮件,就可以阻止那种模式。这里手动填充了需要管理的部分...
请注意,其中任何一个都不能预防垃圾邮件,但是逐步地降低概率,从而降低利润率。 这改变了经济方程,并使得CAPTCHA提供足够的价值以值得使用——因为对于垃圾邮件发送者而言,破解它或绕过它已经不值得麻烦(由于其他控件)。
给用户提供计算的可能性:
3和8的总和是多少?
顺便说一句:刚刚浏览了微软研究团队的一个有趣方法:Asirra。
http://research.microsoft.com/asirra/
它会向您展示几张图片,您需要识别其中带有给定主题的图片。
一种对用户没有负担的非常简单的方法,就是在页面加载后禁用提交按钮一秒钟。我曾经在一个不断被垃圾邮件攻击的公共论坛上使用过它,并且成功地阻止了这些攻击。
我观察到最常见的一种是,基于用户输入来解决简单的谜题,例如:下面这张图片是一只猫(显示周围有几只狗的缩略图)。或者是简单的数学问题。
虽然这很有趣,但我相信技术竞赛也将会压倒那些系统。