我已经实现了我的reCAPTCHA,如示例中所示.
我在head标签中有这个脚本:
<script src="https://www.google.com/recaptcha/api.js"></script>
Run Code Online (Sandbox Code Playgroud)
在我form的HTML中我有:
<div class="g-recaptcha" data-sitekey="my public sitekey here"></div>
Run Code Online (Sandbox Code Playgroud)
但是当我加载时,form我收到此错误:
错误:站点密钥的域无效
我已确认这是我的域名的正确站点密钥.
代码目前在子域中,所以我想也许这就是问题所以我也将子域添加到Google reCAPTCHA管理员但仍然得到错误.
完全相同的代码在不同的域中使用100%(具有特定于该域的密钥).
可能是什么问题呢?
ble*_*tab 47
万一有人有类似的问题.我的决心是删除无效的密钥并获取我的域的新密钥.这现在适用于我的所有子域,而无需在recaptcha管理区域中明确指定它们.
fif*_*nce 27
首先,密钥通过https://www.google.com/recaptcha/admin#list进行管理
我遇到了这个错误,因为我在几个不同的域上使用相同的密钥,而我忘记将其中一个域添加到密钥中.
添加我的网站后,花了一两分钟(很可能是因为缓存)让事情再次正常工作.
Alu*_*tha 17
无需在浏览器上创建新密钥即可清除网站数据
如果您更改了站点域,则将该域添加到现有密钥(不必创建新密钥)并保存.
https://www.google.com/recaptcha/admin#list
但google recapture在浏览器上有一些数据.清除它们然后它将适用于您的新域

小智 14
我解决了同样的问题.我转到https://www.google.com/recaptcha/admin并点击了域名,然后转到底部的关键设置.
在那里我禁用了域名验证下面的选项 验证reCAPTCHA解决方案的来源
点击保存,验证码开始工作.
我认为这与设置服务器的方式有关.我在一个共享主机上,只是在没有通知的情况下从Liquidweb转移到Deluxehosting(因为前者将他们的共享托管出售给后者)并且在许多问题上遇到了这样的问题.这是认为谷歌正在检查服务器,但它确定为共享服务器名称而不是我的域名.当我取消选中"验证来源"时,它开始工作.希望这有助于暂时解决问题.
当我的重新访问密钥注册到127.0.0.1时,我在单元测试期间使用localhost.所以我将浏览器更改为指向127.0.0.1并开始工作.虽然我能够在"ReCaptcha密钥设置"中将"localhost"添加到域列表中,但我仍然无法使用localhost进行单元测试.我必须使用环回IP地址127.0.0.1.
小智 5
在重新生成解决90%问题的密钥之前,必须注意另一点.
例如,您的xampp目录是C:\ xampp
和htdocs文件夹是C:\ xampp\htdocs
我们要打开名为:example-cap.html的页面,页面显示错误"网站密钥无效的域名"
在浏览器地址中使用您的本地地址,例如:
本地主机/示例-cap.html
这将解决您的问题
不要使用ADDRESS c:\ xampp\htdocs\example-cap.html这会产生错误