我已按照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%(具有特定于该域的密钥) 可能是什么问题?
答案 0 :(得分:44)
如果有人有类似的问题。我的决心是删除无效的密钥并为我的域名获取新密钥。这现在适用于我的所有子域,而无需在recaptcha管理区域中明确指定它们。
答案 1 :(得分:23)
首先,密钥是在https://www.google.com/recaptcha/admin#list
管理的我遇到了这个错误,因为我在几个不同的域上使用相同的密钥,而我忘记将其中一个域添加到密钥中。
添加我的网站后,花了一两分钟(很可能是因为缓存)才能让事情再次正常工作。
答案 2 :(得分:15)
无需在浏览器上创建新密钥,只需清除网站数据
如果您更改了站点域,则将该域添加到现有密钥(无需创建新密钥)并保存。
答案 3 :(得分:11)
我解决了同样的问题。 我转到https://www.google.com/recaptcha/admin并点击了域名,然后转到底部的关键设置。
我禁用了以下选项 域名验证 验证reCAPTCHA解决方案的来源
点击保存,验证码开始工作。
我认为这与设置服务器的方式有关。我在一个共享主机上,只是在没有通知的情况下从Liquidweb转移到Deluxehosting(因为前者将他们的共享托管出售给后者)并且在许多问题上遇到了这样的问题。这是认为谷歌正在检查服务器,但它确定为共享服务器名称而不是我的域名。 当我取消选中&#34;验证来源&#34;它开始工作。 希望这有助于暂时解决问题。
答案 4 :(得分:11)
答案 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)
答案 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>
答案 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解决方案的来源。
点击保存,验证码开始工作。