【问题标题】:How might I design a system similar to reCAPTCHA?我该如何设计一个类似于 reCAPTCHA 的系统?
【发布时间】:2009-06-02 21:00:01
【问题描述】:

我对 SO 上使用的 CAPTCHA 系统很着迷……我想了解更多有关使 reCAPTCHA 工作的“many factors”的信息。可以理解的是,考虑到滥用的可能性,开发人员对他们系统的确切内部运作保持沉默......但是这种行为有据可查,所以也许我的好奇心仍然可以满足:

如果我要设计一个 reCAPTCHA 的克隆,我该怎么做?


reCAPTCHA 允许:

  1. 打字错误
  2. 在人们做这些事情的地方。 这表明你需要有关于错误的历史数据,然后根据这些数据制定算法。

检测打字错误需要大量使用数据库:一个用于数字化书籍中的单词,另一个用于已知单词。

技术已知细节

  1. 两个数据库:一个用于已知单词,另一个用于未知单词
  2. 用于组合词的后续数据库

未知的技术细节

  1. 如何快速分离单词以便您看到来自不同数据库的单词组合? 这是关于信号处理的。
  2. 如何将两个数据库中的数据提供给用户?
  3. 两个独立数据库中数据的初始形式是什么? PDF?
  4. 当来自两个数据库的数据合并时,数据的后续形式是什么? pdf?
  5. 如何将数据从两个 pdf 文件合并为一个?
  6. 如何有效地旋转图像?
  7. 使用哪些算法将图像与图书分开?

相关主题

  1. 信号处理
  2. 微积分:用于单词检测算法的系列,例如傅立叶和拉普拉斯。
  3. 概率论:有一个“计算机-人类”系数,只有在例如 95 置信区间时才会通过
  4. 也许数论:我们需要有效地存储和比较数据

【问题讨论】:

  • @yx:帖子没有回答我的问题。我想知道验证码允许多少打字错误,以及它如何知道哪个是正确的字母,哪个不是。
  • Recaptcha 的工作原理是从默认 ocr 无法确定准确文本的扫描书籍中提取两个单词图像。显示的单词之一是系统已知的,而另一个单词仅以较低的确定性(甚至可能为 0)已知。您必须几乎准确地输入已知单词,并且在其可疑值的某个计算距离内输入鲜为人知的单词。然后,您的输入将用于帮助确定未知单词的值,以便最终可以移动到“已知”类别。
  • 你不会得到数学 - 坚韧不拔的细节是必然不共享。不过,我可以告诉你我是如何把这样的东西放在一起的,而且它比你提议的要简单得多。
  • @Masi:我已经编辑了这个,希望它可以变成可以回答的东西。我理解您的好奇心,但是当开发人员甚至没有将这些详细信息放在他们自己的网站上时,在公共网站上询问特定系统的详细信息会让您失望。

标签: captcha recaptcha


【解决方案1】:

【讨论】:

  • 我阅读了这些页面。但是,它没有回答我的问题。它并没有说明 Captcha 是如何工作的。 Catpcha 允许多少打字错误?如果 Captcha 不确定正确的单词,它如何确定用户的字母是否正确。 - 您的链接提到这些词是计算机无法读取的。 => 如果电脑看不懂的话,怎么知道用户给出的答案是否正确?
  • 在他们的 wiki 页面上的 FAQ 下:wiki.recaptcha.net/index.php/…
  • @Waage:他们似乎隐藏了 api:“这是根据许多因素动态调整的。”
猜你喜欢
  • 2010-10-31
  • 1970-01-01
  • 1970-01-01
  • 2011-08-14
  • 1970-01-01
  • 2016-10-11
  • 1970-01-01
  • 1970-01-01
  • 2016-01-25
相关资源
最近更新 更多