0

Google Recaptcha V3 文档显示最简单的实现方法是使用他们所谓的“自动将挑战绑定到按钮” https://developers.google.com/recaptcha/docs/v3#automatically_bind_the_challenge_to_a_button

从他们的示例中,回调函数直接处理提交。他们是否暗示您不必通过这种方法使用他们的 API 来验证令牌?或者这个例子只是为了展示如何运行一个以令牌作为参数的 JS 回调函数?

如果您没有 recaptcha 令牌的服务器端验证,您可以从按钮中删除 recaptcha 事件,然后像往常一样在没有令牌的情况下提交表单。

简而言之,文档中的示例是不安全的,还是只是缺少服务器端验证部分?

4

1 回答 1

0

当然,您必须在后台进行验证。

发出请求以验证响应令牌,如 reCAPTCHA v2 或 Invisible reCAPTCHA。

您希望如何检查验证码是否以其他方式正确填写?通过从 javascript api 对您的脚本的简单响应?绕过它需要5秒钟。验证码旨在保护您免受机器人的侵害,而不是浏览器用户的侵害。

让我们想象一下,您正在验证客户端的 catcha 响应(使用 javascript)。您从某些功能中获得了一些“真实”,即验证码已正确填充。然后呢?基于此,您将用户重定向到一个 url 而不是另一个?或者你有什么想法让验证码起到任何保护作用?如果你这样做,每个人都可以绕过它直接进入 URL。或者你要实现一些会话,服务器端保护。如果是这样,为什么不使用已经在 reCatcha 中实现的那个呢?在没有服务器端验证的情况下,无法制作一个脚本来保护您免受机器人或垃圾邮件的侵害。

于 2021-07-16T12:31:19.500 回答