gpt4 book ai didi

javascript - 如何在odoo中实现recaptcha

转载 作者:行者123 更新时间:2023-12-02 23:13:05 26 4
gpt4 key购买 nike

我们正在为企业使用 odoo 12 Online。我们希望使用 google recapcha 来保护我们的表单。

我们如何实现谷歌验证码?如果可能的话,提供如何实现它的完整示例。

我们更喜欢 recaptcha v3,但如果不可能的话,v2 实现也可以。

当我尝试在线搜索 google recaptcha 的实现时,几乎每次都会包含 .php 文件。我们的页面加载了 QWeb View 类型,但不支持 php。

不用php可以实现吗?我们绝对可以使用 html 和 javascript,也可能使用 python,是否可以只使用这些?如果可能的话,我们希望仅使用 javascript 和 html 来完成此操作,但我假设情况并非如此。

我们是否可以仅使用 html 和 javascript 实现任何其他表单保护?

最佳答案

Python 中的 Google reCAPTCHA v3

您需要在前端安装reCAPTCHA并在后端实现验证。在帖子的底部,我链接了官方 Google reCAPTCHA 文档。

前端集成

<script src="https://www.google.com/recaptcha/api.js?render=reCAPTCHA_site_key"></script>
<script>
grecaptcha.ready(function() {
grecaptcha.execute('reCAPTCHA_site_key', {action: 'homepage'}).then(function(token) {
...
});
});
</script>

前端只需要:

  1. 使用您的站点 key 加载 JavaScript API
  2. 在执行操作或页面加载时调用 grecaptcha.execute
  3. 将 token 与验证请求一起发送到您的后端

后端集成

token 的验证与 reCAPTCHA v2 中的相同。当用户在您的网站上提交表单时,您会收到 POST 参数 g-recaptcha-response。您需要使用以下参数向 Google reCAPTCHA 服务发出 POST 请求。您可以选择自己的 HTTP 请求框架。

POST Parameter  Description
secret Required. The shared key between your site and reCAPTCHA.
response Required. The user response token provided by the reCAPTCHA client-side integration on your site.
remoteip Optional. The user's IP address.

然后您会从服务获得 JSON 响应,如果请求失败,您可以在后端处理进一步的操作。

{
"success": true|false,
"challenge_ts": timestamp, // timestamp of the challenge load (ISO format yyyy-MM-dd'T'HH:mm:ssZZ)
"hostname": string, // the hostname of the site where the reCAPTCHA was solved
"error-codes": [...] // optional
}

来源

关于javascript - 如何在odoo中实现recaptcha,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57271019/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com