背景:我的网站非常简单,包含一个带有链接列表的首页(由3rd party服务提供)-每个链接都会弹出带有提交按钮的文件上传输入。在该弹出窗口中,我嵌入了Recaptcha脚本,并在提交文件时验证了令牌。由于存在多个弹出设置,因此我选择V3进行零用户与验证机制的交互。
现在,出现了一个问题-我该如何解释Google对Google的回应。
V3的Google文档说:
reCAPTCHA通过查看您网站上的实际流量进行学习。为此原因, 暂存环境中或实施后不久的分数可能会有所不同 从生产。由于reCAPTCHA v3从未中断用户流程, 您可以先执行reCAPTCHA而无需采取任何措施,然后决定 通过在管理控制台中查看您的流量来确定阈值。 通过 默认情况下,您可以使用0.5的阈值。
根据我的描述,我很清楚score
很重要-最有可能的机器人为0.0,最有可能的机器人为1.0。因此,在我的代码中,我检查了success == true
和score >= 0.5
但是-我在网上找到的用于服务器端验证的V3示例中的无都需要注意分数。这是其中的3个这三个都只检查请求是否成功:
https://stackoverflow.com/a/54118106/3367818
https://stackoverflow.com/a/52633797/3367818
https://dzone.com/articles/adding-google-recaptcha-v3-to-your-laravel-app
最后,我的问题是-是对V3机制的误解,还是我错过了一些东西?
谢谢。
答案 0 :(得分:0)
是的,您绝对应该在Google的验证回复中检查“得分”的值。
这三个示例非常缺乏细节,而且实际上令人困惑。
“成功”仅表示您发送的格式正确的请求带有正确的令牌和机密。
听起来您已经在检查“ score”的值了,这很好,但是我只是想向发现此问题但仍然有些困惑的任何人澄清一下。