一般逻辑如何仅在 reCAPTCHA v3 返回类似人类的分数后动态加载内容

Posted

技术标签:

【中文标题】一般逻辑如何仅在 reCAPTCHA v3 返回类似人类的分数后动态加载内容【英文标题】:General logic how to dynamically load content only once reCAPTCHA v3 returns a human-like score 【发布时间】:2021-12-08 20:56:49 【问题描述】:

我只需要伪代码/通用逻辑。实际代码也可以,但一般逻辑就够了。

我想从文件中动态加载敏感内容,这些内容通常无法通过其他方式访问。意思是,用户应该与网站进行交互,reCAPTCHA v3 会分析用户的行为,一旦行为看起来像人类,它就会将内容加载到 DOM 中。

我宁愿不使用 jQuery。

我怎样才能做到这一点?我将 ASP.NET Core (.NET 6) 用于后端,将 vanilla JS 用于前端。

到目前为止我的头脑风暴

我想我可以编写一个控制器,它在端点上侦听 AJAX 调用,但我不知道如何编写此逻辑以及这是否可行并给出我想要的结果。尤其是我现在如何动态添加内容。

【问题讨论】:

【参考方案1】:

在recaptcha 中,您可以使用属性“data-callback”,它会在成功时触发您的js 函数。例如,您的 html 代码将如下所示:

<div class="g-recaptcha" data-callback="onReCaptchaSuccess" data-sitekey="myCode"></div>

在 js 中创建一个名为 onReCaptchaSuccess 的函数并发出您的 ajax 请求以在那里加载您的数据。

【讨论】:

我不需要也传递一个令牌吗?我猜在onReCaptchaSuccess 函数中我还得替换.g-repatcha div innerTexthtml 那么呢? 这似乎是 reCAPTCHA v2 而不是 v3..

以上是关于一般逻辑如何仅在 reCAPTCHA v3 返回类似人类的分数后动态加载内容的主要内容,如果未能解决你的问题,请参考以下文章

如何解决 Google v3 reCaptcha 超时?

密钥如何与 reCAPTCHA v3 Enterprise 配合使用?

如何知道 reCAPTCHA v3 是不是有效?

谷歌 reCAPTCHA v3 左下角

如何在服务器端验证 Google reCAPTCHA v3?

仅当用户是人类(reCaptcha v3)时,如何加载和插入一些 HTML?