【问题标题】:reCAPTCHA ERROR: Invalid domain for site keyreCAPTCHA 错误:站点密钥的域无效
【发布时间】:2015-08-24 11:40:47
【问题描述】:

我已经按照example 中的说明实施了我的 reCAPTCHA。

我在head 标签中有这个脚本:

<script src="https://www.google.com/recaptcha/api.js"></script>

在我的 HTML 中的 form 中,我有:

<div class="g-recaptcha" data-sitekey="my public sitekey here"></div>

但是当我加载 form 时,我得到了这个错误:

错误:站点密钥的域无效

我已确认这是我的域的正确站点密钥。

代码当前位于子域中,所以我认为这可能是问题所在,因此我还将子域添加到 Google reCAPTCHA 管理员,但仍然出现错误。

完全相同的代码在不同的域中 100% 有效(具有特定于该域的密钥)。
可能是什么问题?

【问题讨论】:

  • 我遇到了这个问题,我必须登录到我的 recaptcha 仪表板,并为特定的关键设置添加页面的新 URL,因为我的旧 URL 已更改。

标签: html recaptcha


【解决方案1】:

如果有人遇到类似问题。我的解决方案是删除不起作用的密钥并为我的域获取新密钥。现在这也适用于我的所有子域,而无需在 recaptcha 管理区域中明确指定它们。

【讨论】:

  • 旧密钥用于 reCpatcha v1,新密钥用于 reCaptcha v2。
  • @Max 在我的管理员列表中,它显示的是 v2,但无法正常工作。我删除了密钥并重新生成了它,它起作用了。
  • 谢谢,但是对于 wordpress,您的解决方案不起作用,因为它大约是 4 年前,所以我使用了这个link,现在我们应该使用版本 2 而不是版本 3,也许明天我们应该使用 3 2 卢尔。
  • render="Use the same site key here" 并且对于这一行还有 grecaptcha.execute('and Us the same site key here'
【解决方案2】:

首先,密钥管理在https://www.google.com/recaptcha/admin#list

我遇到了这个错误,因为我在几个不同的域上使用了相同的密钥,而我忘记将其中一个域添加到密钥中。

添加我的网站后,需要一两分钟(很可能是因为缓存)才能再次正常工作。

【讨论】:

    【解决方案3】:

    我解决了同样的问题。 我去了https://www.google.com/recaptcha/admin并点击了域,然后转到底部的关键设置。

    我禁用了下面的选项 域名验证 验证 reCAPTCHA 解决方案的来源

    点击保存,验证码开始工作。

    我认为这与服务器的设置方式有关。我在一个共享主机上,只是在没有通知的情况下从 Liquidweb 转移到 Deluxehosting(因为前者将他们的共享主机卖给了后者)并且遇到了很多问题。 我认为在这种情况下,谷歌正在检查服务器,但它被识别为共享服务器名称而不是我的域。 当我取消选中“验证来源”时,它开始工作。 希望这有助于暂时解决问题。

    【讨论】:

    【解决方案4】:

    无需创建新密钥,只需清除浏览器上的站点数据

    如果您更改站点域,则将该域添加到现有密钥(不必创建新密钥)并保存。

    https://www.google.com/recaptcha/admin#list

    但 google recapture 在浏览器上有一些数据。清除它们,然后它将与您的新域一起使用

    【讨论】:

      【解决方案5】:

      我想最快的方法就是在开发时禁用域检查

      【讨论】:

        【解决方案6】:

        当我的 recaptcha 密钥注册到 127.0.0.1 时,我在单元测试期间使用 localhost。所以我将浏览器更改为指向 127.0.0.1 并开始工作。尽管我能够将“localhost”添加到我的 ReCaptcha 密钥设置中的域列表中,但我仍然无法使用 localhost 进行单元测试。我必须使用环回 IP 地址 127.0.0.1。

        【讨论】:

          【解决方案7】:

          您可能无意中将私钥用作公钥。

          【讨论】:

          • 你怎么知道的?
          【解决方案8】:

          在重新生成解决 90% 问题的密钥之前必须注意另一点。

          例如你的 xampp 目录是 C:\xampp

          htdocs 文件夹是 C:\xampp\htdocs

          我们要打开的页面名为:example-cap.html 并且页面显示错误“站点密钥的域无效”

          在浏览器地址中使用您的本地主机地址,例如:

          localhost/example-cap.html

          这将解决您的问题

          不要使用地址 c:\xampp\htdocs\example-cap.html 这将产生错误

          【讨论】:

            【解决方案9】:

            请务必填写您的域名,并且不能以路径结尾。

            例子

            http://yourdomain.com(好)

            http://yourdomain.com/folder(错误)

            【讨论】:

              【解决方案10】:

              我也遇到了这个问题,我的解决方案是验证我是否为我选择的版本集成了适当的客户端代码。

              在我的例子中,我选择了 reCAPTCHA v3,但正在使用 v2 的客户端集成代码。

              V3 看起来像这样:

              <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>
              

              V2 代码如下所示:

              <html>
                <head>
                  <title>reCAPTCHA demo: Simple page</title>
                   <script src="https://www.google.com/recaptcha/api.js" async defer></script>
                </head>
                <body>
                  <form action="?" method="POST">
                    <div class="g-recaptcha" data-sitekey="your_site_key"></div>
                    <br/>
                    <input type="submit" value="Submit">
                  </form>
                </body>
              </html>
              

              至于您拥有的版本,这将是您在开始设置 reCAPTCHA 帐户时所决定的。

              【讨论】:

              • 这也是我的问题,在使用 Drupal 的验证码和重新验证码模块时
              【解决方案11】:

              尝试添加没有http://https:// 的域,例如example.com

              【讨论】:

                【解决方案12】:

                对我来说,我只是忘记在“关键设置”区域输入实际域名,其中显示域(每行一个)。

                【讨论】:

                  【解决方案13】:

                  您应该设置您的域,例如:www.abi.wapka.mobi,如果您使用的是 wapka 网站。

                  请注意,如果您有一个带有 wapka 的域,它将无法正常工作,因此请将 wapka 与您的网站提供商进行比较并发送短信。

                  【讨论】:

                    【解决方案14】:

                    我尝试了将近 4 个小时,最终在此处的指导下解决了这个问题,我想我会与您分享我的解决方案。

                    好的,所以我的域是一个插件域。我还收到“站点所有者错误:站点密钥的域无效”我已经检查了几乎一千次所有内容都是正确的,并且在我看来是正确的,直到我从桌面快捷方式的角度想到它。

                    解决方案:

                    因此,对于插件域,请确保父 url 也在域列表中,即: [附加域].[父域].com . 插件位置将是您在主机上设置的文件夹,因此在使用插件域时,请确保使用合乎逻辑的名称命名根。

                    希望这对其他人有所帮助,并感谢人们的建议。

                    【讨论】:

                      【解决方案15】:

                      我也有同样的问题。我解决了:我去https://www.google.com/recaptcha/admin,点击域,然后去底部的关键设置。

                      我禁用了域名验证下方的选项验证 reCAPTCHA 解决方案的来源。

                      点击保存,验证码开始工作。

                      【讨论】:

                        【解决方案16】:

                        我的域非常复杂。我在开发人员控制台中获取了window.location.host 返回的值,并将该值粘贴到了recaptcha 管理员白名单中。然后我清除了缓存并重新加载了页面。

                        【讨论】:

                          【解决方案17】:

                          由于忘记显示渲染参数,我遇到了类似的问题

                          <script src='https://www.google.com/recaptcha/api.js?render=SITE_KEY' async defer></script>
                          

                          【讨论】:

                            猜你喜欢
                            • 1970-01-01
                            • 2016-04-25
                            • 2018-05-04
                            • 2020-09-16
                            • 1970-01-01
                            • 1970-01-01
                            • 2016-04-15
                            • 2015-06-01
                            相关资源
                            最近更新 更多