标签: grecaptcha

recaptcha v3 前端 .execute() 返回奇怪的结果 )]}' ["rresp","..."]

这实际上与recaptcha v3 前端返回奇怪的、空洞的(无效?)结果相同)]}'

在 recaptcha 设置页面上 - https://www.google.com/recaptcha/admin/site/.../settings我有

  1. 选择 recaptcha v3
  2. 设置域等。
  3. 生成的密钥

我可以看到上一个 stackoverflow 问题和我现在的案例之间的唯一区别是:

  1. 我没有使用本地主机,
  2. 我的动作已经全是字母字符,并且
  3. 我仍然收到那个奇怪的回应

在上一个问题中,海报显然改变了动作名称,一切都很好。我已经摆弄了动作名称,但它没有改变任何东西。我将在下面显示响应详细信息。在我这样做之前,这里是我页面中相关代码的摘录:

    <script src="https://www.google.com/recaptcha/api.js?render=MYKEY"></script>
    <script>
      grecaptcha.ready(function () {
        grecaptcha.execute('MYKEY', {action: 'contactpage'});
      });
    <script>
Run Code Online (Sandbox Code Playgroud)

这是我运行它时发生的情况。结果在 Chrome 和 Firefox 中相同。在浏览器控制台中,我看到以下响应:

    XHR POST https://www.google.com/recaptcha/api2/reload?k=*MYKEY*
    SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data
    Response Payload    

    )]}'
    ["rresp"," ... (and much more)... ]
Run Code Online (Sandbox Code Playgroud)

脚本标签中的recaptcha api url 与控制台中显示的url 明显不同,这对我来说很好。显然,很多事情都在幕后进行。

recaptcha recaptcha-v3 grecaptcha

7
推荐指数
1
解决办法
368
查看次数

Recaptcha V3:网站所有者错误:密钥类型无效

自过去 6 个月以来,我们一直在我们的网站上使用 recaptcha V3。但自上周以来,我们面临网站所有者的错误:密钥类型无效。我仔细检查并确认谷歌 recapcha 控制台中的密钥类型是 V3。我创建了新的 V3 密钥并进行了检查。但这也不起作用。关于如何解决这个问题有什么想法吗?

recaptcha recaptcha-v3 grecaptcha

6
推荐指数
0
解决办法
773
查看次数

使用 greptcha.reset() 方法时出现“范围错误:超出最大调用堆栈大小限制”

我正在使用 google recaptcha V2,进行验证码验证。最近,我在使用方法重置验证码时遇到问题grecaptcha.reset()

请参考下面的错误截图:

在此输入图像描述

已在 google recaptcha 演示网站中检查了相同的场景,并且存在相同的问题。

有人能帮忙吗?有什么解决方法吗?提前致谢。

validation captcha recaptcha anti-bot grecaptcha

6
推荐指数
0
解决办法
690
查看次数

grecaptcha.execute() 完成执行后如何调用函数 - 由事件触发?

当前grecaptcha.execute正在页面加载时执行,如下面的第一个 JS 示例所示。如果触发 reCAPTCHA 质询,则会在页面加载时发生这种情况。理想情况下,当单击表单提交按钮时会发生这种情况。因此,我通过将其移动到提交事件(第二个 JS 示例)并将 axios 函数放入承诺中来进行尝试。它在 grecaptcha.execute 执行完成之前提交。

我在这里不明白的是什么?我第一次接触 Promise,所以我不了解 Promise 是如何工作的吗?这不是这个问题的最佳解决方案吗?完全是别的东西吗?

HTML

<head>
<script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit" defer></script>
</head>
Run Code Online (Sandbox Code Playgroud)

JS

const form = document.querySelector('#subscribe');
let recaptchaToken;
const recaptchaExecute = (token) => {
    recaptchaToken = token;
};


const onloadCallback = () => {
    grecaptcha.render('recaptcha', {
        'sitekey': 'abcexamplesitekey',
        'callback': recaptchaExecute,
        'size': 'invisible',
    });
    grecaptcha.execute();
};

    form.addEventListener('submit', (e) => {
        e.preventDefault();
        const formResponse = document.querySelector('.js-form__error-message');
        axios({
            method: 'POST',
            url: '/actions/newsletter/verifyRecaptcha',
            data: qs.stringify({
                recaptcha: recaptchaToken,
                [window.csrfTokenName]: window.csrfTokenValue,

            }),
            config: { …
Run Code Online (Sandbox Code Playgroud)

javascript ajax promise axios grecaptcha

5
推荐指数
1
解决办法
8369
查看次数

Google Recaptcha V2 Invisible - 加载时间大幅增加 - 破坏页面速度优化

问题总结:

Google V2 ReCapcha 取消了所有页面速度调整工作,这些工作只是为了加载小“不可见”[不是真正不可见] iFrames

情况:

得到了一个很棒的 SEM 登陆页面,构建良好,压缩,缩小的 JS/css,CDN,最小字体快如闪电,99% A 页面速度得分...

但是一旦JS层被激活

Google V2 Invisible ReCapcha 尝试处理页面上的 3 个 FORM 元素(潜在客户表单、时事通讯和基于 Twilio 的 SMS“点击通话”表单)速度得分受到影响(并且不是可接受的程度,严重程度)

图片说明了一切: 在此输入图像描述

多年来一直是一个问题,一直都知道它,但想现在也许有解决方案吗?

所有表单都是 100% AJAX。使用其他东西也可以,也许是 V3?异步延迟,尝试使用延迟和不延迟 - 仅从 Google 传递 JS 文件的加载时间似乎“不合理”...(尝试抓取 JS 文件并在本地提供它们,无论如何都是非正统且“不起作用”)

接受建议。

javascript performance pagespeed invisible-recaptcha grecaptcha

5
推荐指数
0
解决办法
838
查看次数