reCAPTCHA错误:站点密钥的域无效

时间:2015-06-09 14:56:50

标签: html recaptcha

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

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

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

在我的form HTML格式中我有:

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

但是当我加载form时,我收到此错误:

  

错误:网站密钥的域名无效

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

代码目前位于子域中,所以我想也许这就是问题,所以我也将子域名添加到Google reCAPTCHA管理员但仍然收到错误。

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

17 个答案:

答案 0 :(得分:44)

如果有人有类似的问题。我的决心是删除无效的密钥并为我的域名获取新密钥。这现在适用于我的所有子域,而无需在recaptcha管理区域中明确指定它们。

答案 1 :(得分:23)

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

管理的

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

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

答案 2 :(得分:15)

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

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

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

但google recapture在浏览器上有一些数据。清除它们然后它将适用于您的新域 enter image description here

答案 3 :(得分:11)

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

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

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

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

答案 4 :(得分:11)

我想最快的方法就是在您开发域名时禁用域名检查 enter image description here

答案 5 :(得分:7)

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

答案 6 :(得分:7)

您可能无意中使用了私钥作为公钥。

答案 7 :(得分:5)

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

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

和htdocs文件夹是C:\ xampp \ htdocs

我们要打开名为:example-cap.html的页面 并且页面显示错误&#34;网站密钥的无效域&#34;

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

本地主机/示例-cap.html

这将解决您的问题

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

答案 8 :(得分:3)

尝试添加没有 http https 的域。 就像www.abc.com

答案 9 :(得分:3)

确保填写您的域名,但不得以路径结束。

例如

http://yourdomain.com(好)

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

答案 10 :(得分:2)

对我来说,我只是忘了在&#34; Key Settings&#34;中输入实际的域名。它所说的域名(每行一个)。

答案 11 :(得分:2)

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

就我而言,我选择了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帐户设置开始时所决定的。 enter image description here

答案 12 :(得分:1)

我用这个试了差不多4个小时,最后在这里的指导下搞清楚了,我想我会和你分享我的解决方案。

好的,我的域名是一个插件域名。我还得到了网站所有者的错误:网站密钥的无效域名&#34;我已经检查了一切都是正确的几乎一千次,它看起来对我来说,直到我从桌面快捷方式的角度来看它。

<强>解决方案:

因此,对于插件域,请确保父URL也在域列表中,即: [ADDON DOMAIN]。[PARENT DOMAIN] .com。 插件位置将是您在主机上设置的文件夹,因此在使用插件域时,请确保使用逻辑符号命名根。

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

答案 13 :(得分:1)

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

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

答案 14 :(得分:1)

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

答案 15 :(得分:0)

由于我忘记显示render参数,因此我遇到了类似的问题

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

答案 16 :(得分:-1)

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

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

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