【问题标题】:How does Google's "No CAPTCHA reCAPTCHA" work?Google 的“No CAPTCHA reCAPTCHA”是如何工作的?
【发布时间】:2015-12-28 03:53:11
【问题描述】:
我正在尝试构建一个类似 ReCaptcha 的 jquery 插件。至此,我已经完成了视觉方面的工作。
知道它在后台是如何工作的,以便我可以在我的插件中复制相同的内容吗?
【问题讨论】:
标签:
jquery
captcha
recaptcha
bots
【解决方案1】:
从哪里开始...
- 借助 Google 搜索、Google Analytics(分析)和 Google Adsense,Google 对许多浏览器和 IP 地址有很多了解,他们可以利用这些知识来影响他们对您是否是具有一定历史记录的机器人或合法浏览器的决定李>
- 他们使用 Javascript 来跟踪您在页面上的鼠标移动和键盘输入,并使用复杂的算法服务器端对其进行分析,以帮助确定您是否是机器人
- 他们使用 Javascript 来查看浏览器的各种属性(例如屏幕和视口分辨率、插件、字体,并使用复杂的服务器端算法来帮助确定您是否是机器人
- 他们可能会使用他们的海量数据来查看 IP 在最近或历史上是否曾多次受到 reCaptcha 的挑战(机器人的迹象,普通用户可能每天会遇到一些挑战,而不是数百或数千)
- 我认为有时他们会尝试使用客户端 Javascript 将插件或其他代码注入页面,然后在服务器端对其进行分析以测试 Javascript 是否已运行(如果代码从未运行,可能会向机器人发出信号)
- 可能还有一堆我们不知道的其他东西,因为如果我们这样做,“坏人”会用它来击败 reCaptcha
然后,如果他们确定您是机器人或无法决定,他们会显示正常的字母数字或图像验证码。
请记住,如果您的验证码是 100% 的客户端 jQuery/Javascript,它可以而且很容易被绕过。您需要一些服务器端处理(PHP、.NET、JSP 等)。