3

在 reCAPTCHA V2 中,我可以在 views.py 本身中进行验证。但是在 V3 中我不知道如何进行。现在我在 127.0.0.1 的开发中使用它。

首先,我生成了站点密钥和密钥。在 settings.py 我添加了密钥, GOOGLE_RECAPTCHA_SECRET_KEY = 'my_secret_key_here'

然后在我的 signup.html 中, <script src='https://www.google.com/recaptcha/api.js?render=my_site_key_here'></script>

与以前不同的是,没有 < div > 标签来添加复选框。脚本本身在我的浏览器一侧呈现 recaptcha 符号。

我的问题是,

  1. 如何使用grecaptcha.execute进行验证。

  2. 我是否必须将带有我的站点密钥的脚本添加到我想要防止垃圾邮件的每个页面,或者是否有任何简单的方法

4

2 回答 2

1

是的,您需要将其添加到具有提交表单的每个页面。验证仍然发生在视图中。

这个库似乎做了繁重的工作以简化集成 - https://github.com/kbytesys/django-recaptcha3

于 2019-01-20T17:27:25.523 回答
0

这篇文章看起来可以帮助您解决问题:如何在您的 django 上实现 google recaptcha v3

摘要:

  1. 调用 execute 方法,这将返回您需要在后端验证的令牌。

  2. 您可以将其保存在表单中的某个位置

  3. 提交表单时发送令牌

  4. 在您的视图中验证令牌

我是否必须将带有我的站点密钥的脚本添加到我想要防止垃圾邮件的每个页面,还是有任何简单的方法

确切地说,您需要在要防止垃圾邮件的每个页面上添加脚本。

于 2019-05-27T22:02:56.947 回答