0

大多数网站至少采用服务器访问日志检查和禁止以及某种机器人预防措施,如验证码(那些混乱的文本图像)。

验证码的问题在于它们对用户体验构成威胁。幸运的是,它们现在具有用户友好的功能,例如刷新和音频版本。

无论如何,就像 linux vs windows 一样,垃圾邮件发送者不值得花时间自定义和/或构建脚本来处理仅与一个站点相关的自定义 CAPTCHA 示例。因此,我想知道是否有更好的方法来处理整个 CAPTCHA 问题。

A Better CAPTCHA中,Peter Bromberg 提到一种方法是将图像转换为 HTML 并将其显示在页面中。在http://shiflett.org/上,Chris 只是要求用户在输入中输入他的名字。此类示例是简化验证码体验同时降低垃圾邮件发送者价值的方法。有谁知道我可以使用的更多好例子或看到嵌入图像创意的任何问题?

4

6 回答 6

9

以 HTML 表格形式呈现的图像只是技术上的减速带。从此类文档中提取像素并不困难。

恕我直言,CAPTCHA 将注意力集中在错误的事情上——你对另一边是否有人不感兴趣。您也不希望人类向您发送垃圾邮件。所以退后一步,专注于垃圾邮件:

  • 分析文本(查找垃圾关键字,使用贝叶斯过滤)
  • 分析链接(黑名单垃圾邮件域 – SURBL、LinkSleeve)
  • 查看交通模式并阻止洪水
  • 没有单一的完全准确的方法,但您可以使用其中的一些方法并对结果进行加权以获得非常接近的结果。

看看Sblam 的源代码!(这是一个完全透明的服务器端评论垃圾邮件过滤器)。

于 2009-08-01T18:53:13.803 回答
2

seen this?

It's a system with cute pictures instead of captcha ;)

But I still think honeypots are a better solution - they're so cheap&easy&invisible

于 2010-04-24T14:20:04.807 回答
2

验证码的替代方案将从其他角度考虑问题。这样做的原因是因为验证码是围绕可以区分人类和计算机演员的想法构建的。随着人工智能的进步,随着计算机和人类用户之间的差距缩小,这将始终成为一个越来越困难的问题。

slashdot 上使用的技术是让网站的其他用户充当看门人,标记滥用行为并在违规帖子被广大受众注意到之前将其删除。

另一种技术是直接检测类似垃圾邮件的帖子,使用与从电子邮件中过滤垃圾邮件相同的技术。显然它不是 100% 有效的电子邮件,也不会用于其他用途,但是如果您可以过滤掉 75% 的垃圾邮件而几乎没有误报被过滤,那么其他技术将只需要处理剩下的25%。

保留垃圾邮件相关活动的日志,以便您可以跟踪有关违规 IP 地址、帖子内容、声称的用户代理等的趋势,以便您可以在路由级别阻止滥用用户。

在几乎所有情况下,您的用户宁愿忍受滥用预防带来的轻微不便,也不愿忍受主要垃圾邮件问题带来的巨大不便。

最终,您与垃圾邮件发送者之间的军备竞赛是一种成本效益。最初,垃圾邮件发送者向您的网站发送垃圾邮件几乎不会花费任何费用,但您可以更改它以使其变得非常困难。即使他们继续向您的网站发送垃圾邮件,他们所获得的好处也永远不会超过一些无辜的用户为他们的计划而堕落。一旦垃圾邮件的成本急剧上升到收益之上,垃圾邮件发送者就会消失。

从中受益的另一种方法是允许在您的网站上投放广告。使合法的广告商可以轻松地发布负责任的营销材料供您的用户查看(当然不是免费的)和便宜的。垃圾邮件发送者可能会发现,向您支付几美元并让他们看到他们的产品比寻求秘密方法更好。

显然,大多数垃圾邮件发送者不属于这一类别,因为这通常更多是为了让您的用户成为恶意软件攻击的受害者。您可以通过鼓励用户使用现代、最新的浏览器或插件来尽自己的一份力量,这样他们就不会那么容易受到同样的攻击。

于 2009-08-01T18:58:15.290 回答
2

本文描述了一种基于散列字段名称(随每个页面视图而变化)的技术,其中一些是通过各种技术对人类用户隐藏的蜜罐字段(即,如果请求被填满,则拒绝请求)。

基本上,它依赖的垃圾邮件脚本不够复杂,无法确定哪些表单字段实际上是可见的。在某种程度上,这一个验证码,因为为了可靠地解决它,他们不仅必须完全实现 HTML、CSS 和 JavaScript,他们还必须识别何时字段太小而无法看到,颜色相同作为背景,隐藏在另一个字段后面,放置在浏览器的视口之外,等等。

这与使 Web 标准成为一场闹剧的基本问题相同:没有算法可以确定网页是否“看起来正确”——只有人类才能决定。

于 2009-08-03T16:53:33.010 回答
1

我真的认为黛娜一针见血。事实似乎是整个 CAPTCHA 设置的美妙之处在于没有标准。标准化只会帮助市场获得更多利润。

因此,处理 CAPTCHA 问题的最佳方法似乎是为机器人提供一个相当困难的系统来捕捉地球上其他任何人都没有使用过的系统。它可能是一个问题系统,一个非常自定义的图像创建器,甚至是只有浏览器尊重的 JS 调用的混合。

当您的网站大到足以让垃圾邮件发送者关心时,您应该有预算来重新考虑您的 CAPTCHA 设置并对其进行更多优化。与此同时,我们应该监控我们的服务器日志并禁止不良代理、引用和 IP。

就我而言,我创建了一张我认为与我见过的任何其他 CAPTCHA 非常不同的 CAPTCHA 图像。这与我的 Apache 日志 + htaccess 禁止和 Aksimet 检查一起现在应该很好。也许我也应该花时间在报告功能上。

于 2009-08-03T16:40:52.250 回答
0

虽然不是真正的图像验证码,但好的图灵测试会向用户提出一个随机问题——常见的选项是:冰是热的还是冷的?5+2=..?等等

于 2009-08-01T18:37:20.497 回答